NOVINKA: Získej 40 hodin praktických dovedností s AI – ZDARMA ke každému akreditovanému kurzu!

Diskuze – Lekce 4 - Zapouzdření v PHP

Zpět

Upozorňujeme, že diskuze pod našimi online kurzy jsou nemoderované a primárně slouží k získávání zpětné vazby pro budoucí vylepšení kurzů. Pro studenty našich rekvalifikačních kurzů nabízíme možnost přímého kontaktu s lektory a studijním referentem pro osobní konzultace a podporu v rámci jejich studia. Toto je exkluzivní služba, která zajišťuje kvalitní a cílenou pomoc v případě jakýchkoli dotazů nebo projektů.

Komentáře
Avatar
Odpovídá na Michal Žůrek - misaz
Neaktivní uživatel:3.8.2013 15:03

Mno ono jde o to rozdělit si třídu tak, aby nebyla tak dlouhá. Asi děláš něco špatně, pokud máš tolik řádků.

Odpovědět
3.8.2013 15:03
Neaktivní uživatelský účet
Avatar
Neaktivní uživatel:3.8.2013 15:14

Obecně je nejlepší ponechat třídu pod 60 řádků, pokud to nenaruší funkčnost třídy. Jestli není nutné mít všechny komponenty na stejném místě, je vhodné třídu rozdělit. Také je dobré zbavit se zbytečných metod a datových členů, které se nevyužívají. Komentáře bych ani tak nepočítal, ty přece zvyšují přehlednost. :)

Odpovědět
3.8.2013 15:14
Neaktivní uživatelský účet
Avatar
Kit
Tvůrce
Avatar
Odpovídá na Michal Žůrek - misaz
Kit:3.8.2013 15:24

Ono to zpočátku trochu bolí, protože v té třídě chci tohle a ještě tohle... Jenže když si uvědomíš, že téměř všechny neprimitivní proměnné objektu jsou vlastně samostatnými vnořenými objekty, jde to najednou mnohem jednodušeji.

Odpovědět
3.8.2013 15:24
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
Odpovídá na Kit
Neaktivní uživatel:3.8.2013 15:26

Tak tak. Například třída Form v Nette je rozdělená snad do tří tříd. Ovšem mě přijde že pan Grudl se snaží, aby to vypadalo co nejsložitěji, jelikož většina věcí co tam má nakompentované se dá udělat mnohem jednodušeji.

Odpovědět
3.8.2013 15:26
Neaktivní uživatelský účet
Avatar
David Hartinger
Vlastník
Avatar
Odpovídá na Neaktivní uživatel
David Hartinger:3.8.2013 15:41

Mít Form ve třech 60ti řádkových třídách mi přijde jako nesmysl. Dekompozice v takovéhle granularitě je jen na škodu, sice se snižuje počet řádků, ale zvyšuje se počet závislostí, počet souborů ve složkách a zanoření ve jmenných prostorech. Třída má být dlouhá tak akorát, moc krátká je také špatně.

Odpovědět
3.8.2013 15:41
New kid back on the block with a R.I.P
Avatar
Kit
Tvůrce
Avatar
Odpovídá na Neaktivní uživatel
Kit:3.8.2013 15:42

605 řádek třídy Form je skutečně moc. Je důsledkem potřeby něco udělat až příliš univerzálně. Přitom mi ta třída připadá zbytečná, resp. jsem zatím nepřišel na to, k čemu bych ji použil.

Odpovědět
3.8.2013 15:42
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
Odpovídá na Kit
Neaktivní uživatel:3.8.2013 15:44

Moje slova.

Odpovědět
3.8.2013 15:44
Neaktivní uživatelský účet
Avatar
Kit
Tvůrce
Avatar
Odpovídá na David Hartinger
Kit:3.8.2013 15:48

Forms v Nette je rozdělen do osmi souborů PHP, které mají dohromady 1631 řádek. Přitom by pro běžné použití určitě stačila desetina.

Editováno 3.8.2013 15:51
Odpovědět
3.8.2013 15:48
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
Odpovídá na Kit
Neaktivní uživatel:3.8.2013 15:51

Nedávno jsem si Nette smazal, tak teď nevím. Ale určitě není nutné mít na mail čtyři třídy a jedno rozhrání, na databází nepočitatelně... Ta databáze v Nette je dobrý příklad bordelu.

Odpovědět
3.8.2013 15:51
Neaktivní uživatelský účet
Avatar
Kit
Tvůrce
Avatar
Odpovídá na Neaktivní uživatel
Kit:3.8.2013 15:57

Pardon, zapomněl jsem na 2520 řádek v podadresářích. Takže dohromady mají Forms v Nette 4151 řádek PHP.

Database je samostatná kapitola. 4645 řádek ve 23 souborech.

Odpovědět
3.8.2013 15:57
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 10 zpráv z 53.