Pan Vrána mi vždycky připadal jako takový "bastlíř - génius". Umí naklepat kvanta špagetového kódu, cizí řešení mu nevoní, výsledku rozumí jen on sám. Viz třeba https://github.com/vrana/adminer/
Dá-li někdo pull request, tak ho děsivě sejme v komentáři a buď to úplně zamítne, anebo to zamítne a naprogramuje to sám a "lépe".
Takovýhle vlk-samotář se zjevně do týmu nehodí, tak by mě zajímalo, jak to v Googlu řeší. Asi mají své metody :)
"Cizím řešením" jsem myslel v rámci kódu. Adminer není ani tak "open source", jako spíš "source available".
Špagetový kód bez komentářů, odmítání ostatních vývojářů, bastlení všeho po svém.
Produkt jako takový je použitelný. Ale jestli to Vránu přestane bavit vyvíjet, tak Adminer končí.
Diskuze mi nedala a podival jsem se na ten slavny Adminer.
Prvni otevreny soubor: https://github.com/vrana/adminer/blob/master/compile.php
Hned na prvnim radku pouzita magicka konstanta. Hromada nedokumentovych regularnich vyrazu... Budiz. Dalsi otevreny soubor. https://github.com/vrana/adminer/blob/master/adminer/sql.inc.php
if/for/while zanorenych deset do sebe. Michani aplikacni a prezentacni logiky. V dalsich castech Admineru to vypada stejne. Opravdu ukazkovy priklad spagetoveho kodu.
Toto mi opravdu staci. Skutecne by me zajimalo, jak programuji ostatni lidi ve Facebooku, kdyz panu Vranovi vadi, ze se tam moc prasi.
Jako, určitě se nechci do Jakuba nějak obouvat.
Faktem je, že když jsem si tuhle chtěl zkusit použít nějakou část z Admineru pro svůj vlastní projekt, tak jsem moc radosti nezažíval. Může to být různým stylem přístupu k programování, samozřejmě.
Taky jsem to zkoušel u phpMyAdmin, což jsem si moc nepomohl.
Nakonec jsem zkončil u toho, že jsem jen zkopíroval jednotlivé sql dotazy a stejně je nemohl použít jak byly.
Ten nový maintainer forku by ovšem musel chápat ten stávající nedokumentovaný a nestrukturovaný kód :)
Když vidím ty konstrukce a vzpomenu si na knihu http://www.amazon.com/Clean-Code-Handbook-Software-Craftsmanship/dp/0132350882 tak je mi k pláči.