( enpassant | 2019. 09. 08., v – 10:30 )

A szoftverfejlesztés nem szakma: nincsenek olyan általánosan elfogadott szabályai, amik betartása esetén valószinűleg nem fogod elrontani.

Sajnos nincsenek általánosan elfogadott szabályai, pedig nagyjából egyetlen szabály betartásával lehetne könnyen érthető, könnyen karbantartható, könnyen módosítható, magas színvonalú programokat készíteni.
Sajnos azt az egy szabályt nem hogy nem tartják be, hanem minden eszközzel ellene mennek.
A probléma abból fakad, hogy bár a legtöbb fejlesztő ismeri ezt az egy szabályt, de nem tudja, hogy ez mennyire fontos szabály és nem alkalmazza szinte soha sem, vagy csak nagy ritkán.

Ez az egy szabály: a KISS (Keep It Stupid Simple), de jobban leírja az Occam borotvája.
Lefordítva: ha egy feladatra van két (vagy több) jó megoldásunk, akkor mindig az egyszerűbbet válasszuk.

Pár példa:


konkrét	                  < absztrakt
nem polimorfikus függvény < polimorfikus függvény
kompozíció                < öröklés
külön adat és függvény    < egységbe zárás
totális függvény          < parciális függvény
determinisztikus függvémy < nem determinisztikus függvémy
pure függvény             < impure függvény
immutable változó	  < mutable változó
lineáris kód végrehajtás  < vezérlési szerkezetek

Már a legkisebb egységeknél elkezdjük a bonyolítást, majd kezdjük nem átlátni, ezért bevezetünk a bonyolultság kezelése miatt újabb és újabb technikákat (pl. Design Patterns, DI, DIc), amikkel még tovább bonyolítjuk a dolgokat.