A Google a napokban fejlesztői csatornáján egy érdekes videósorozatot tett közzé, amelyben a szoftverek tervezése során elkövetett leggyakoribb, egyben legsúlyosabb "bűnöket" veszi sorra. A sorozat ugyan konkrétan három darab tervezési hiba köré szerveződik, de valójában egy jóval általánosabb áttekintést ad arról, hogy milyen szempontokat érdemes mérlegelni, illetve milyen szélsőségeket érdemes elkerülni programjaink létrehozása során.

A Google mérnökei szerint a leggyakoribb és legsúlyosabb tervezési hibák a következők:

1. Olyan kódok megírása, amikre valójában nem lesz szükség

Ha túl sok gondot fordítasz olyan kódok kidolgozására - és ezzel tesztelésére és dokumentálására is -, amikre egyelőre nincs szükséged, és csak azért írod meg őket, mert úgy gondolod, hogy egyszer majd szükséged is lehet rájuk, azzal jelentősen megnöveled az időt, mire egy adott funkcionalitással elkészülsz. Ráadásul ha csak nem tudod pontosan megjósolni a jövőbel bővítések és fejlesztések során felmerülő pontos igényeket, akkor szinte biztos, hogy az előre megírt kódokat is át- vagy újra kell majd írnod - tehát hosszú távon sem fogsz nyerni sokat a dologgal.

2. A kód egyszerű változtathatóságának elhanyagolása

Minél hosszabb távon kell majd egy programnak ill. kódnak kiszolgálnia az igényeket, annál nagyobb figyelmet érdemes fordítani arra, hogy abban könnyen lehessen változtatásokat eszközölni, és hogy a különböző funkcionális csoportok elválasztásra kerüljenek egymástól. Ha ezt nem teszed meg, a kódod elkezd spagettisedni, és egyre nehezebbé válik a legegyszerűbb módosítások, bővítések végrehajtása is rajta.

3. Túl általános kódok írása

Ne próbáld meg a kódodat minden a jövőben előforduló eset kezelésére már most felkészíteni! Ezzel egyrészt csak feleslegesen elbonyolítod a program szerkezetét és működését már akkor is, amikor erre (még) nincs szükség. Másrészt a gyakorlatban a legtöbbször nem is lesz szükség vagy alkalom mindazon lehetőségek kihasználására, amiket a rengeteg plusz energia és idő befektetésével létrehozott generikus kódjaid megnyitnak.