Proqramlaşdırmada DRY, DIE, KISS, SOLID, YAGNI prinsipləri

Bu blogda hər bir proqramçının bilməli olduğu 5 prinsip haqqında danışacam.

Proqram təminatları yazarkən işimizi rahatlaşdırmaq, proqram təminatının elastikiyini və asan genişlənə bilməsini təmin etmək üçün aşağıda qeyd olunan proqramlaşdırma prinspilərini bilmək mütləqdir:

DRY - açılışı Don't Repeat Yourself deməkdir. Onu həm də DIE, yəni Duplication İs Evil kimi tanıyırlar. Bu prinsipin əsas məğzi odur ki, eyni kodun təkrarlanmasından qaçmaq lazımdır. Bunun üçün universal üsullardan və funksiyalardan istifadə etmək olar.

KISS - Keep it simple, stupid deməkdir. Bu prinsipin əsas məğzi odur ki, maksimum sadə və başa düşülən arxitektura hazırlamaq lazımdır. Bunun üçün layihələndirmə şablonlarını tətbiq etmək olar.

SOLID - sadələşdirilmiş halda mənası odur ki, əgər bir neçə prinsip bir yerdə istifadə olunursa, o zaman bu proqram təminatının sonrakı dəstəyini və inkişafını asanlaşdırır. Tam olaraq açılışı aşağıdakı kimidir:

  • Single responsibility principle - vahid məsuliyyət prinsipi. Yəni ki, hər bir klass yalnız bir işi görməlidir. Məsələn, foto ilə əlaqədar olan klass yalnız foto ilə bağlı iş görməlidir.
  • Open/Closed principle - Açıq/Bağlı prinsipi. Proqram təminatının hissələri dəyişdirilmə üçün bağlı, genişləndirilmə üçün açıq olmalıdır.
  • Liskov substitution principle - Barbara Liskov üsulu prinsipi. Baza(əsas) tipi olan olan funksiyalar, həmin tipin alt tiplərini də istifadə edə bilməlidir. Alt klasslar ana klassların işinə mane olmamalıdır. Alt tiplər əsas tiplərin imkanlarını artıra bilməlidir.
  • Interface segregation principle - interfeysin bölünməsi prinsipi. Bir universal interfeys əvəzində çoxlu və ayrı ayrı işi görən interfeys olması daha yaxşıdır.
  • Dependency inversion principle - Asılılıq inversiyası prinsipi. Yuxarı təbəqəli modullar aşağı təbəqəli modullardan asılı olmamalıdır. Abstraksiyalar detallardan asılı olmamalıdır.

YAGNI - You Aint Gonna Need İt. Sizin buna ehtiyacını olmayacaq. Bu o deməkdir ki, yalnız qarşıya qoyulmuş məsələlərin həllinə lazım olacaq işləri etmək, lazım olmayan artıq işləri isə etməmək lazımdır.


Tags