Programovanie a best-practices

jpu

Programovanie a best-practices
« kdy: 26. 01. 2018, 08:17:07 »
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.



dddddddd

Re:Programovanie a best-practices
« Odpověď #1 kdy: 26. 01. 2018, 08:23:11 »
A proc chces zase strucnou odpoved? Proc nevenujes cas samostudiu a cetbe? Tady si moc nepomuzes.

fernet

Re:Programovanie a best-practices
« Odpověď #2 kdy: 26. 01. 2018, 08:29:19 »
Nejlepší je se na to vysrat a přejít na nějaký funkcionální jazyk :)

jpu

Re:Programovanie a best-practices
« Odpověď #3 kdy: 26. 01. 2018, 08:31:02 »
A proc chces zase strucnou odpoved? Proc nevenujes cas samostudiu a cetbe? Tady si moc nepomuzes.
Strucnu odpoved nechcem. Skor mi ide o skusenosti ludi, co pouzivaju, comu sa naopak vyvaruju (vid. static vs. singleton).

Tomáš Roll

Re:Programovanie a best-practices
« Odpověď #4 kdy: 26. 01. 2018, 09:22:25 »
Pokud máš static, nemůžeš mockovat, takže samozřejmě injektovaný singleton. Takže otázky 1, 2, a 3, jsou vlastně jednou otázkou.


Tomáš Roll

Re:Programovanie a best-practices
« Odpověď #5 kdy: 26. 01. 2018, 09:23:42 »
Na rootu konstruktivní debatu nečekej, jen se dozvíš, že jsi lopata.

pepa

Re:Programovanie a best-practices
« Odpověď #6 kdy: 26. 01. 2018, 09:30:51 »
Ono také záleží co programuješ, jiný postup se volí na embeded zařízeních a úplně jiný na servrech a jiný pro GUI na desktopu.

jpu

Re:Programovanie a best-practices
« Odpověď #7 kdy: 26. 01. 2018, 09:55:29 »
tak predpokladam, ze injectovanie, static/singleton, factory pattern popr. ine patterny, podmienky, clenenie do tried bude +/- rovnake ci pre server, gui. o embedded neviem, s tym som nepracoval.

balki

Re:Programovanie a best-practices
« Odpověď #8 kdy: 26. 01. 2018, 09:57:04 »
1.) Singleton sa usilujem nepouzivat. Preferujem pomenovane instancie v DI frameworku.
2.) Ano, spring, o springu je milion literatury. Treba si najst vzdy aktualnu, lebo sa to neustale meni. (EJB sa mi osobne az tak nepaci, je to krapatek zaprdene)
3.) Easymock.
4.) Java to neumoznuje, tak to nepouzivam. Ale da sa tym paradne robit separation of concerns.
5.) Nemam best practices. Hlavne to je robit tak, aby sa to dalo citat a nevnarat zbytocne vela if-ov a a switchov do seba.
6.) Ano, pouzivam, aby som to potom vedel citat po druhych. Osobne si myslim, ze kazde pouzitie syntactic sugar zabije steniatko, ale co narobim.

tpircsavaj

Re:Programovanie a best-practices
« Odpověď #9 kdy: 26. 01. 2018, 10:01:32 »
Nejlepší je se na to vysrat a přejít na nějaký funkcionální jazyk :)

No jenze kdyz mas klasicky deklarativni ci OOP jazyk 3.5te generace tak mas v podstate jedno v cem kodujes, lisi se jen detaily. Ale vybrat funkcionalni jazyk je beh na dlouhou trat protoze kazdy ma jinou filosofii, dogmata a stado militantnich vericich.

Phi

Re:Programovanie a best-practices
« Odpověď #10 kdy: 26. 01. 2018, 10:14:38 »
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 - jak kdy, nevěřím na silver bullet ale singletonem via DI se moc nezkazí
2 - DI a o moc raději Dagger než Spring
3 - Ano, Mockito, ušetří to spoustu práce, ale vždycky je otázka jestli se náhodou nemokuje až moc vzhledem k tomu, co vlastně chci testovat.
4) tohle asi v Javě nemáme a nemám na to názor. Teď si nedovedu představit že by to byl extra velký přínos.
5) Nechápu otázku :) If používám, switch méně, ale některé situace si o něj řeknou.
6) Čím víc kódu jsem viděl, opravil a napsal, tím více je můj kód ukecanejší. Je to daný i tím, že vlastním psaním kódu strávím možná 20% času, zbytek jde na přemýšlení  a čtení kódu.

jpu

Re:Programovanie a best-practices
« Odpověď #11 kdy: 26. 01. 2018, 12:53:31 »
A mate nejaku politiku kodu, ktoru dodrzujete, resp. musite dodrziavat napr. vo firme? Ja na pomoc pouzivam resharper, dobry nastroj, ktory celkom dost napovie, aj ked niekedy je "blby" :). My nejaku politiku v praci nemame zauzivanu, ale napr. "this" musim pisat, aj ked taky resharper to povazuje za nadbytocne.

Phi

Re:Programovanie a best-practices
« Odpověď #12 kdy: 26. 01. 2018, 13:52:14 »
Po té co vytvořím půl request z branche mého forku do hlavního repa, to projede statická analýza zdrojaku podle setu pravidel a na build serveru se branch zkompiluje a spustí se unit testy. Pokud je zdrojak zelený, někdo z kolegů se ujme code review.
Žádná raketová věda, jen si z codebase nechceme dělat úplnou stoku.
Ano, v default levelech statické analýzy bylo pár pravidel, která dělala víc škody než užitku, ale ty jsme postupně vypnuli.

Jano7

Re:Programovanie a best-practices
« Odpověď #13 kdy: 27. 01. 2018, 13:55:56 »
Mnohé sa používajú preto, lebo sú súčasťou frameworku, ktorý využívame. Keď si na to človek zvykne, DI je veľmi pohodlné používať. Single responsibility principle je všeobecne zaužívaný postup. Na webe zasa MVC, resp. MVVM.
Nie vždy sa to striktne dodržiava, ale dobrým postupom je nemixovať viac jazykov do jedného súboru, trebárs SQL v
Java kóde. Populárne je tiež defenzívne programovanie. Nedôverujte vstupu od užívateľa je dobrý imperatív.
Convention over configuration je jedným z najpopulárnejších a najefektívnejších postupov pri vývoju softvéru.

Potom je celá rada netechnických dobrých postupov, napr. menej skúsený vývojár musí mať mentora,
špecializácia programátorov, neustále vzdelávanie atď.


jpu

Re:Programovanie a best-practices
« Odpověď #14 kdy: 27. 01. 2018, 14:02:05 »
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.