Sobes.tech
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ų.