Programovanie a best-practices

Jano7

Re:Programovanie a best-practices
« Odpověď #15 kdy: 27. 01. 2018, 14:20:27 »
Citace
Convention over configuration
Tymto sa co mysli?
U nas vo firme sa nejake best practices nedodrzuju. Clovek si musi vsetko sam skusat a ked tak to praktizovat na vlastnych projektoch.

Convention over configuration je prístup, spopularizovaný Ruby on Rails, kde sú nastavené určité
východzie hodnoty, ktoré potom netreba v kóde alebo v konfiguračných súboroch nastavovať. Šetrí to veľmi
veľa úsilia a času. Napríklad Spring predpokladá, že šablóny sú uložené v súbore src/main/resources/templates, alebo
ak Spring vidí Freemarker závislosť v pom.xml súbore, automaticky sa zvolí Freemarker šablónovací systém a prípony šablón majú príponu ftl.

To je veľmi zlé, ak firma v roku 2018 nemá best practices.


jpu

Re:Programovanie a best-practices
« Odpověď #16 kdy: 27. 01. 2018, 16:02:59 »
Dakujem, pozriem si tom trosku viac.
No ja som nadobudol dojmu, ze u nas sa programuje, ako sa komu zachce a robi podla svojho uvazenia, ale napr. nejake DI som v kodoch inych ludi nenasiel.

Re:Programovanie a best-practices
« Odpověď #17 kdy: 27. 01. 2018, 16:25:30 »
Zaujimalo by ma, ake best-practices pouzivate pri programovani, popr. doporucit nejaku literaturu.

1.) Pouzivate static namiesto singletonu, popr. opacne a preco? Popr. volite sposob Factory?
2.) Dependency injection, inversion of control?
3.) Mockovanie?
4.) Clenenie do viacerych tried (napr. X partial class)?
5.) Podmienene vykonavanie prikazov (if/switch)?
6.) napr. v C# pouzivate syntactic sugar alebo radsej rozpisujete?

Budem rad za konstruktivnu debatu, ktora nieco aj niekomu da :)
Dakujem.

1) DI
2) Ano, casto ano.
3) Velmi casto.
4) Ne. Moje prostredi to nepodporuje, ale i jinak bych u toho byl spis opatrny.
5) Cim dal mene. Naopak cim dal casteji trebas mapovani nad optional. Ale neni duvod se tomu vyhybat.
6) Radeji cukr, pokud je k dispozici.

oNeDaL

Re:Programovanie a best-practices
« Odpověď #18 kdy: 27. 01. 2018, 16:40:05 »
1) singletonu se zcela vyhýbám, považuji ho za anti-pattern
2) DI
3) ano, občas
4) ano
5) if i switch (???)
6) v C# nepíšu

Většinou dělám v PHP a na osobních projektech mám:
+ kontrolu code-style definovaný v XML - jak je kód formátovaný (mezery/taby, docblocky, a spoustu dalšího)
+ statickou analýzu kódu - odhalí nepoužité nebo špatně použité proměnné, chybějící třídy, špatná volání metod atd.
+ testy


Toto vše si samozřejmě pouštím před pushem, jamile se to dostane do Gitu, spouští se CI, kde se tyto kroky provedou.. Většina věcí je v Docker kontejnerech.

Takhkle to dělám já na svých projektech, byl bych rád kdyby to tak měli i firmy pro které dělám, realita je hodně různá - někde ano, někde částečně a někde jsou stále 10 let pozadu, vystavují přes FTP a neštítí se modifikovat kód přímo na serveru.
Aktuálně firma pro kterou dělám má chuť tohle zlepšovat, ale u zhruba poloviny vývojářů mi přijde, že o to nemají zájem a dělají si to po svém bez nějaké vize zlepšení procesů a kvality. Osobně myslím, že by to firma měla nadiktovat a vývojáři by měli mít možnost to rozumně ovlivňovat.  Tedy pokud je vše rozumně zadokumentované/popsané, jinak to může být chaos.