Jak porozumět cizímu kódu rubrika: Programování: Java

3 jan.flos
položil/-a 3.11.2014

Lámu si hlavu s tím jak co nejefektivněji rozumět kódu cizích lidí. Kdybych se zeptal Roberta C. Martina tak by mi jistě řekl :
Třídy, Metody, Proměnné musí být správně pojmenované a když to tvoji kámoši budou dodržovat tak se nemusíš nořit do hlubin kódu, aby si mu rozuměl, protože stačí jít jenom na vyšší druh abstrakce.

Možná by mi taky řekl : Nastuduj si Design Patterns, pak pochopíš ještě více.
Btw. Tady sem našel nádherný popis všech Design Patterns s implementacemi v Javě https://github.com/iluwatar/java-design-patterns

To je ovšem velmi naivní pohled na věc a v realitě to tak nikdy nebývá. V kódu je spousta technologických věcí, které Problémovou doménou mají jen pramálo společného, zvláště pak, když je problémovou doménou nějaký framework. Díkdy skvělému nápadu kterému se říká "Inversion of Control" se kód a tedy původní záměr autora stává ještě nesrozumitelnějším protože je mnohdy obtížné vůbec najít a pochopit účel.

No tak mě napadlo začít kód, kterému chci bezezbytku rozumět, opisovat. Projdu si tak myšlenkové postupy programátora. Samozřejmě né vše, jen to důležité, asi velmi záleží na tom co si člověk vybere. Parádní zábava na dlouhé zimní večery.

Existují kvanta zdrojových kódů od vynikajících programátorů, o jejichž styl uvažování a řešení problémů se můžeme pokoušet.

Má někdo lepší nápady ?

odkaz
6 tuma.vojta
odpověděl/-a 3.11.2014

Poznávat cizí kód je jako se nastěhovat do novýho města. Na mapě si přečteš, kde bydlíš jak se dostaneš na nejbližší vlakový nádraží. To se dá přirovnat tomu, že si vypíšeš ve frameworku HELLO WORLD. Tohle ti nestačí a občas si potřebuješ skočit na nákup a něco si pořídit. To bych přirovnal tomu, že umíš vypsat víc jak hello world a malinko víš kam jít. Po čase potřebuješ do drogérie nebo železářství. To je už složitější hledat. To může být například komunikace s databází. Pořád ale znáš jenom hlavní silnici, kde jsou všechny tyhle obchody. Máš základní potřeby splněný a dám se s tím vyžít. Spusta lidí tady skončí a stačí jim to, protože umí spracovat základní požadavky.

Po čase budeš chtít vyzkoušet mexickou restauraci, protože ti už nechutná stejná kuchyně a taky zjistíš, že autobus nejezdí jenom po hlavní cestě, ale i do vedlejších uliček . To je stav, kdy porozumíš cizímu kódu do hloubky a zjistíš, že se dá třeba trochu ohýbat a začneš dělat věci složitější cestou, která ti přinese nový možnosti.

Takhle bych například popsal jak poznat nový framework. Je to trochu alernativní popis a odpovídá to na malou část otázky, ale myšlenka je taková, že je dobrý se v novým kódě nejdříve bezpečně zabydlet, zjistit jak funguje a pak zkusit jak ho ohnout.

Komentáře

  • Taco : Pak se přestěhuješ do Prahy a jsi v ... 3.11.2014
  • Augi : Moc pěkně napsáno! :-) 3.11.2014

Pro zobrazení všech 7 odpovědí se prosím přihlaste:

Rychlé přihlášení přes sociální sítě:

Nebo se přihlaste jménem a heslem:

Zadejte prosím svou e-mailovou adresu.
Zadejte své heslo.