Middle
Kokius vystymo principus žinote?
sobes.tech AI
Atsakymas iš AI
Pagrindiniai:
- DRY (Don't Repeat Yourself): Vengti kodo dubliavimo, pasikartojančią logiką išskiriant į funkcijas, klases ar modulius.
- KISS (Keep It Simple, Stupid): Siekti paprastumo ir aiškumo kode.
- YAGNI (You Ain't Gonna Need It): Nenaudoti funkcijų, kurios šiuo metu nėra būtinos.
- SOLID: Penkių objektinio programavimo principų rinkinys:
- Single Responsibility Principle (Vienos atsakomybės principas): Klasė turi turėti tik vieną priežastį keistis.
- Open/Closed Principle (Atviro/uždaro principas): Klasės turi būti atviros plėtrai, bet uždarytos modifikacijai.
- Liskov Substitution Principle (Liskov keitimo principas): Pusbrolio klasės objektai turi būti pakeičiami pagrindinės klasės objektais, nesukeliant programos klaidų.
- Interface Segregation Principle (Sąsajų atskyrimo principas): Klientai neturi priklausyti nuo sąsajų, kurių jie nenaudoja.
- Dependency Inversion Principle (Priklausomybių inversijos principas): Aukštesnio lygio moduliai neturi priklausyti nuo žemesnio lygio modulių. Abu turi priklausyti nuo abstrakcijų. Abstrakcijos neturi priklausyti nuo detalių, o detalės turi priklausyti nuo abstrakcijų.
Kiti:
- Code Convention: Laikytis nustatytų kodavimo standartų (pvz., PSR-1, PSR-12 PHP) gerinant skaitomumą ir nuoseklumą.
- Test-Driven Development (TDD): Rašyti testus prieš rašant darbo kodą.
- Domain-Driven Design (DDD): Dėmesys domeno sričiai, kuriant modelį, atitinkantį verslo logiką.
- Clean Architecture/Hexagonal Architecture: Architektūros požiūriai, skirti atskirti verslo logiką nuo infrastruktūros detalių.