O vzrůstající složitosti eshopů

I já jsem se rozhodl přispět do tohoto skvělého magazínu drobným zamyšlením. Také se vám zdá, že každý program s každou novou verzí kyne a kyne? Ono to není jen zdání. Je to přirozené.

O vzrůstající složitosti

Jako příklad si můžeme vzít Prestashop, oblíbený open source eshop.

Prestashop 1.3.0 Prestashop 1.6.0
vydáno  únor 2010  prosince 2013
 velikost (v zipu)  7.6 MB  22.3 MB
 počet souborů  3000  7000
 tabulek v databázi  160  280

To je trojnásobný nárust velikosti za necelé 4 roky. Je těžké si představit, kolik řádků kódu to ve skutečnosti je. Jestli jste někdy třeba psali nějakou dlouhou esej nebo dokument ve Wordu, jistě víte, že výsledný soubor má několik kilobytů (a to je v něm zahrnuto i formátování).

Je jasné, že v nové verzi Prestashopu se úpravy dělají daleko hůře. Je zkrátka třeba měnit víc věcí, na více místech. Lehmanovy zákony znějí jasně a v realitě platí:

  • Zákon trvalé proměny: “Systém používaný v reálném prostředí se neustále mění, dokud není levnější systém restrukturalizovat, nebo nahradit zcela novou verzí.”
  • Zákon rostoucí složitosti: “Při evolučních změnách je program stále méně strukturovaný a vzrůstá jeho vnitřní složitost. Odstranění narůstající složitosti vyžaduje dodatečné úsilí.”

Jak vývoj systému pokračuje dál a dál, přibývají nové funkce, dělají se změny, se kterými se na počátku vývoje nepočítalo a prostě přijde ta doba, kdy je třeba to celé přepsat. Hardware to zvládá, ten roste společně se softwarem, programátoři už hůře.

Existuje jiná cesta?

Podle mě ano. Co takhle nepřidávat nové funkce? Vyvíjet systém, spíše jej vylepšovat, ladit a odstraňovat chyby. Je to možné? Sám nevím. Ale princip eshopů se již hezkou řádku let nezměnil. Není tajemstvím, že prodávat ve velkém můžete i na relativně jednoduchých eshopech. Největším problémem bude zřejmě lidská touha po stále lepších, větších věcech, které toho umí víc. Eshop, který by stále nepřidával nové funkce, bude asi odsouzený k zániku, protože ztratí fanoušky a pod dojmem ustrnutí vývoje i vývojáře samotné.

Představte si situaci, kdy potřebujete jednoduchý eshop. Před 5 lety by to byl Prestashop. Dnes musíte hledat alternativy. Ty alternativy s každou další verzí samozřejmě také bobtnají. Stejné je to i se známým WordPressem (odbočka – zdá se to jen mě, nebo je WP taková hromada funkcí, u kterých nevíte, odkud se vzali?)

Samozřejmě ten problém je obecný – jiné je opravovat Škodu 120 a jiné Audi A8. To je možná trochu špatný příklad. Lepší je třeba s mobilními telefony – tam se totiž stále vyrábějí a kupují jednoduché, hloupé telefony. Člověk má na výběr.

Co si o tomto problému myslíte? Nebo je vám to jedno, protože vaši programátoři to přece nějak vyřeší? 🙂