Styly programování

Styly programování
« kdy: 23. 08. 2026, 04:35:53 »
Když jsem se učil z knížek programovat, autoři ve vztahu k syntaxi většinou říkali, aby si programátor zvolil svůj styl a toho se pak držel. Programovací jazyky však dovolují nejen styl syntaxe, ale i styl programování. Existují však konvence anebo doporučení, jak programovat v tom či onom jazyce.

Nejsem profesionální programátor, ale zajímalo by mě, jestli se těchto doporučení držíte, anebo máte raději (i kromě těchto doporučení) nějakou volnost a svobodu rozhodnout se, jak budete programovat. Zajímá mě praxe jak freelancerů, tak profesionálů v týmu malém i velkém.


a6b

  • ****
  • 329
    • Zobrazit profil
    • E-mail
Re:Styly programování
« Odpověď #1 kdy: 23. 08. 2026, 06:21:50 »
me uz prestaly bavit nejake vysoke abstrakce v proceduralnim programovani, nakonec se mi libi primocarost assembleru nebo c. vyssi mira abstrakce ve funkcionalnich jazycich mi zase pripada spravna.

xyz

  • ****
  • 318
    • Zobrazit profil
Re:Styly programování
« Odpověď #2 kdy: 23. 08. 2026, 10:40:04 »
Proc te to zajima?

Re:Styly programování
« Odpověď #3 kdy: 23. 08. 2026, 11:38:03 »
Proc te to zajima?
Navrhuji techniku programování, kde jsou užity již hotové technologie, ale ta technika zatím vyžaduje určitá doporučení, která by se měla dodržovat. Chtěl bych zjistit, jestli profesionální vývojáři dávají přednost svobodě v programování, nebo jestli je praxe dosti omezuje ve způsobu, jak programují.

Re:Styly programování
« Odpověď #4 kdy: 23. 08. 2026, 12:02:14 »
My sme používali Clean Code od Robert C. Martin a Gang of four vzory.  Len už sú tie knihy trochu staré, medzitým sa jazyky a best practices posunuli. Dosť veľa vecí platí doteraz, ale treba to brať s rezervou.


Kit

  • *****
  • 1 046
    • Zobrazit profil
    • E-mail
Re:Styly programování
« Odpověď #5 kdy: 23. 08. 2026, 12:42:14 »
Záleží na zvoleném paradigmatu. Začínal jsem s procedurálním Pascalem, na PHP jsem postupně přesedlal na OOP a později na funkcionální. Teď mě baví deklarativní s XSLT, nejlépe v kombinaci s PHP. Na každou vrstvu aplikace mám jiné paradigma tak, aby kód byl co nejkratší, nejsrozumitelnější a také znovupoužitelný.

Můžeš se nechat inspirovat stylem, který ti nabídne AI.

luvar

  • ****
  • 255
    • Zobrazit profil
    • E-mail
Re:Styly programování
« Odpověď #6 kdy: 23. 08. 2026, 13:47:49 »
Za mňa záleží na použitom frameworku, alebo architektúre... Napríklad som zažil reálny projekt s java ee frameworkom. Borci si hashovaciu funkciu, i saltenie hesla používatela nakódili sami. Session management, celkom vlastný kvetnatý kus kódu. A nehovorím o tom, že používali JSB (java server pages), akokeby to boli CGI skripty. Proste printf do stringu a to sa vracalo. Ich jediný, main.jsp súbor obsahoval jeden riadok: new MojFramework(request, response).renderHtmľ()...

Takže tak... Záleží, či ideš k profesionálom, alebo k profesionálom. Nevidel som vela programátorov, ktorí by riešili veci podľa best practices. Problém je budget a nekompetencia developrov (neochota povedat, ze to zozerie viac casu)...

a6b

  • ****
  • 329
    • Zobrazit profil
    • E-mail
Re:Styly programování
« Odpověď #7 kdy: 23. 08. 2026, 15:06:08 »
mi se libi jak ro rikal linus, ze mas navrhnout dobre datove struktury a kod kolem toho uz je pak jednoduchy, coz se mi libi a na to staci c.
nejake hracicky navic jako zapouzdreni a objekty, public/private, templates uz mi pripadaji jen jako hracicky.

treba je dobre mit peknou datovou strukturu pro vektory, matice, quaterniony,  kod a vypocty uz se pak k tomu pisou samy.
« Poslední změna: 23. 08. 2026, 15:07:52 od a6b »

RDa

  • *****
  • 3 297
    • Zobrazit profil
    • E-mail
Re:Styly programování
« Odpověď #8 kdy: 23. 08. 2026, 18:10:47 »
Takže tak... Záleží, či ideš k profesionálom, alebo k profesionálom. Nevidel som vela programátorov, ktorí by riešili veci podľa best practices. Problém je budget a nekompetencia developrov (neochota povedat, ze to zozerie viac casu)...

Taky zalezi, zda tam nekdo vi dopredu kudy se to bude vyvijet. Treba moje one-man show je vzdy takova prijemna prace, protoze se uz vcas pripravuji na to, ze tam bude neco jinak / rozsireno, takze buduji zaklady.

Oproti tomu spoluprace s kolegou, co dela vsechno jen aby bylo, je strasne narocna a vycerpavajici, kdyz vidim jak tam dela cicoviny, ktere bude pak predelavat v X souborech.

Kit

  • *****
  • 1 046
    • Zobrazit profil
    • E-mail
Re:Styly programování
« Odpověď #9 kdy: 23. 08. 2026, 19:52:11 »
mi se libi jak ro rikal linus, ze mas navrhnout dobre datove struktury a kod kolem toho uz je pak jednoduchy, coz se mi libi a na to staci c.
nejake hracicky navic jako zapouzdreni a objekty, public/private, templates uz mi pripadaji jen jako hracicky.

treba je dobre mit peknou datovou strukturu pro vektory, matice, quaterniony,  kod a vypocty uz se pak k tomu pisou samy.

Datové struktury jsou dobrým základem. Se skaláry je to cesta do pekel. Na quaterniony je třeba mít tu správnou knihovnu a pak je ta práce také snadná.

V OOP se také dobře programuje, pokud zapomenete na protected a public proměnné a také se vyvarujete použití getterů a setterů.

xyz

  • ****
  • 318
    • Zobrazit profil
Re:Styly programování
« Odpověď #10 kdy: Dnes v 08:51:31 »
Proc te to zajima?
Navrhuji techniku programování, kde jsou užity již hotové technologie, ale ta technika zatím vyžaduje určitá doporučení, která by se měla dodržovat. Chtěl bych zjistit, jestli profesionální vývojáři dávají přednost svobodě v programování, nebo jestli je praxe dosti omezuje ve způsobu, jak programují.

Záleží na spoustě faktorů. Některé jazyky (C++, Java) umožňují psát objektově, bez objektu (procedurálně), funkcionálně. C++ má i šablony. Takže tam programátor může být hodně kreativní.

Tým vs jednotlivec. V týmu bývají nějaké psané a nepsané konvence a odchylky se dozvíš pri code review.

Osobnost programátora. Někdo má talent psat čistý efektivní, rozšiřitelný kód. (SOLID principy). Někdo má toho talentu méně...

Co je vstupem. Dostanes už nějakou architekturu nebo vše vymyslíš sám? Tam může docházet k velkým divergencim mezi programátory.

Atd...

Re:Styly programování
« Odpověď #11 kdy: Dnes v 09:54:15 »
Nevidel som vela programátorov, ktorí by riešili veci podľa best practices. Problém je budget a nekompetencia developrov (neochota povedat, ze to zozerie viac casu)...
Na best practices na většině projektů fakt není čas. Výsledkem je skoro vždy nějaký kompromis. Vývojáři se obvykle snaží o alespoň nějaké best practices a ten, kdo to platí se zase snaží aby byl vývoj co nejlevnější. Obojí je logické a za ideální situace by to mělo vytvářet potřebnou rovnováhu. Jestli vytváří i v praxi je další věc.

"Nekompetence" je v tomto případě špatný termín, který popisuje něco jiného. Neochota? To ano, to je mnohem přesnější. Chcete se jako vývojář s někým hádat, že to, co chce nedává smysl? Pokud nejste zrovna majitelem firmy, nechcete. Chcete jen, abyste dostal zaplaceno. Některé firmy si to financovat mohou dovolit nebo poslat klienta do háje s tím, že to není reálné. Ale většina spíš ne. Takže se věci prostě lepí jak se dá.

Což je mimochodem docela marný některým teoretikům tady vysvětlovat.
« Poslední změna: Dnes v 09:59:17 od Martin Poljak »

Re:Styly programování
« Odpověď #12 kdy: Dnes v 10:23:56 »
Na best practices na většině projektů fakt není čas. Výsledkem je skoro vždy nějaký kompromis.

Jasny. to je jako rozepinat poklopec kdyz jdes na zachod... Kdo na to ma cas? Navic si jako bonus ani nemusis umejvat ruce kdyz odchazis.

Ink

  • *****
  • 723
    • Zobrazit profil
    • E-mail
Re:Styly programování
« Odpověď #13 kdy: Dnes v 11:06:22 »
Šlo by dát nějaké příklady "best practices" a kde to jde a nejde používat. Mně přijde, že s použitím LLMs už jde často spíš o výmluvy...

Re:Styly programování
« Odpověď #14 kdy: Dnes v 11:12:54 »
Na best practices na většině projektů fakt není čas. Výsledkem je skoro vždy nějaký kompromis.

Jasny. to je jako rozepinat poklopec kdyz jdes na zachod... Kdo na to ma cas? Navic si jako bonus ani nemusis umejvat ruce kdyz odchazis.
Tenhle příměr kapku kulhá. Když už nic jiného, tak to nejsou tvoje kalhoty.