Nezodpovědnost programátorů, aneb proč je zděděný kód často taková hrůza

Publikováno Programování

Upozornění: Článek je napsán v lehce útočném duchu, jestliže na to nejsi psychicky připraven, nečti dál!

Je spousta větších projektů, které se vyvíjejí roky, projde pod rukama spousty programátorů přímo až k vám. To zděšení při prvním pohledu na kód… Ten studený pot stékající po zádech při první úpravě a zjištění, že se rozbila polovina jiných nesouvisejících věcí… Určitě to zažila spousta z nás, kterým se takový projekt dostal pod ruce.

Proč jsou tyto projekty v tak příšerném stavu?

Vidím v tom jeden zásadní faktor a tím je nezodpovědnost a lenost programátorů. I když je projekt navržen relativně dobře, po převzetí další firmy se dostává (dle mých zkušeností) často na zcestí.

Zanese se do kódu další styl programování, aniž by se zrefaktoroval ten stávající.

Začnou vznikat duplicity kvůli nedostatku času na zpracování. Ano, tohle základní pravidlo programování jsem viděl u množství projektů porušovat nad míru častou u velmi důležitých částí kódu, mnohdy ze strachu upravit stávající kód.

Zde vzniká ten problém. Když se projekt nebude pravidelně refaktorovat vznikne z něj bastl.

Sám se snažím držet pravidla:

„Programátor je zodpovědný za kód, který mu projde pod rukama.“

Pokud programátor narazí na špatně napsaný kód a pouze ho upraví kvůli nové funkčnosti a náležitě ho nezlepší, tak přijde další programátor (nebo i on sám) a opět narazí na špatný kód, kterým se bude prohrabovat znova a znova a znova.

Programátoři si často neumějí říct o čas potřebný na zlepšení kódu. A je to od nich nezodpovědné! Protože následky si ponese programátor i projekt jako takový.

S přibývajícími roky je totiž u vlastníka projektu, potažmo manažera utvářena potřeba, že projekt je nutné napsat od nuly znova (jelikož je už opravdu neudržovatelný/nákladně udržovatelný). A to je velká investice… Mnohem větší, než kdyby bylo zodpovědných programátorů starajících se o stávající kód a prosazující u nadřízených potřebné zdroje.

(Ale ano, uvědomuji si, že vinu často nese i vlastník projektu/manažer, který odmítá do projektu takto investovat a raději si najde někoho jiného.)

Komentáře