Je krasne, jak se vetsin z vas tvari hrozne profesionalne a pritom tvrdi takove veci jako ze debuger je na nic, ze ho nahradi logovani a ze tamhleto je blbost a dokonale a spravne je neco uplne jineho atd.
Ze trida ma mit 6 metod, nebo zase ze metoda muze mit i 1000 radku se zanorovanim a je to ok atd. Kazdy si halt obhajuje tu svoji prasecinu a nejhorsi jeste je, kdyz se na netu od nejakeho jinehou joudy docte to, co se mu hodi do kramu, to pak zacne tuto myslenku vydavat za svetonazor a nuti do toho i ostatni.
Neni nad to, kdyz nejaky blbec zacne programovat podle tehle doporuceni. Pak se program nepis pro to, aby fungoval, ale proto, aby splnil nejaka nesmyslna kriteria na podobu kodu.
Kod ma mit svou fazonu, v ramci projektu idealne jednotnou. Nazvy metod a parametru by mely fungovat ve velke vetsine pripadu jako napoveda a metody by se mely chovat rozumne podle toho, jak se jmenuji a jake parametry zerou. Kod je vhodne (nikoliv nezbytne nutne) psat tak, aby byl citelny a pochopitelny. Mista, ktera tak napsat nejdou napr. z duvodu optimalizace by mela byt rozumne okomentovana. Naopak psat komentar ke konstruktoru bez parametru, ze je to konstruktor, je nemysl. Ale jsou taci, co to vyzaduji. Kod by se nemel zbytecne opakovat a to jak z duvodu prehlednosti, tak udrzovatelnosti. Vyjimkou jsou opet napr. optimalizace.
Cele "reseni" ma byt rozdeleno na mensi celky, ktere maji byt si s sebou maji tahat co nejmene zavislosti a maji byt co nejvice znovupouzitelne. Pri tvorbe trid, sluzeb, komponent atd. vzdy hledime na to, jak by danou vec asi chtel znovupouzit uplne cizi programator, resp. si vzpomeneme, co nas stve na cizich komponentach a sami to udelame pokud mozno lepe.
Ve celem "reseni" dodrzujeme jednotny styl nazvu pro ruzne casti, od namespacu po promenne. Dorzet jednotnost u namespacu je rozhodne dulezitejsi, nez ji dodrzet u lokalni promenne v privatni metode tridy pro praci se stringy.
Vcas reseni refaktorizujeme, pokud je to nutne, nikdy (az na uplne krize) nelepime kod jako prasata. Nekdy muze refaktorizace zabrat hodne casu. Je lepsi ji delat vcas, treba po te, co se zhotovi nejake reseni, udela se zakladni test, ze to jede. Nechvastame se, jak sme dobri, ale venujeme cas tomu, abychom tohle reseni ucesali, uklidili kod po prekotnem vyvoji atd.
Za chyby v textu se omlouvam, nechce se mi to po sobe cist ;-)