• úvod
  • témata
  • události
  • tržiště
  • diskuze
  • nástěnka
  • přihlásit
    registrace
    ztracené heslo?
    KOJAProgramovani 40+
    Diskuze o obzive programovanim pro starsi a pokrocile.
    rozbalit záhlaví
    PES
    PES --- ---
    AXTHEB: no zkuste si luštit nějaké hutné SQL napsané na jednom nekonečném řádku...
    JINX
    JINX --- ---
    AXTHEB: good point, ted uz to zacinam chapat. Kazdopadne to jde proti tomu jak pisou lidi každé volani na jeden samostatný radek (typicky NodeJS/Java)

    VOY
    VOY --- ---
    AXTHEB: Pardon, pouzil jsem spatny termin. Chtel jsem spis rict, ze ja v takovem pripade ty radky newrapuji, nybrz zascrolluji radek, ktery je proste o kus delsi. Zaroven kdyz ten dlouhy radek rozdelis a tu myslenku nasilne rozdelis na radky dva, tak stejne ocima ten druhy radek musis hledat. Podle me dava smysl se snazit jednu myslenku udrzet na jednom radku, ale zaroven se snazim tech 100 znaku v idealnim pripade neprekrocit. Myslim ale, ze jsou situace kdy to vyjde jako lepsi reseni nebo nastejno s rozdelenim. Kazdopadne jsem nezazil pracovni misto, kde by 80 znaku jako omezeni platilo - diky bohu.

    SULTHAN: Hajit 80 znaku je ve finale trochu jako hajit QWERTY rozlozeni na klavesnici. Je to neco co vzniklo v kontextu nejakeho technickeho omezeni (zasekavani klaves na psacim stroji) a my se nekdy takove veci pak snazime zpetne racionalizovat.
    AXTHEB
    AXTHEB --- ---
    VOY: Přijde mi, že nechápeš, co se ti snažím popsat. Představ si, že vždycky když skončíš při čtení kódu alespoň na stém sloupci, tak se musíš zastavit a vědomě najít místo, kde začíná další řádek. Není to problém soft wrapu, není to problém toho, že by každý řádek byla tak dlouhý. Ta nutnost přepnutí kontextu nastane už na prvním dlouhém řádku (a na každém dalším).
    A mimochodem existuje studie která ukazuje, že tohle přepnutí kontextu mají všichni, jen většina lidí to nevnímá (ale reálně je to unavuje)
    SULTHAN
    SULTHAN --- ---
    MOAN_HARSHAW: Nevzniklo to ve vakuu, je to hodnota, která vychazí ze standardní velikosti písmen na psacím stroji a standardní velikosti papíru.
    Nutno také říci, že v C byla maximální délka identifikátoru 8 znaků a v době, kdy tyhle standardy vznikly, tak C funkce neměly žádné modifikátory, které jsou dneska běžné (např. access modifikátory).
    Alfo a omegou psaní kódu by primárně měla být čitelnost. Udržovat 80 znaků na řádek je jistě úctyhodné, protože krátké řádky se skutečně lépe čtou, ale pokud se kvůli tomu rozplizne kód vertikálně (např. hlavička funkce na 10 řádků), tak to rozhodně není ideální.
    V dnešních standardech se proto místo délky řádku spíše řeší hloubka zanoření nebo počet výrazů na jednom řádku (např. max jeden boolean operátor na řádek, jedna deklarace proměnně na řádek), případně cyklomatická složitost a délka těla funkce.
    To má tu výhodu, že se řeši to, co reálně snižuje čitelnost ale zároveň to umožňuje napsat delší řádek tam, kde to čitelnost nijak nesnižuje.
    VOY
    VOY --- ---
    AXTHEB: Nikdo nerika, ze musis prechazet na dalsi radek, soft wrap v editoru neni povinnost. Muzes si preci zascrollovat a nebo se posunout kurzorem a pak ten kontext neztratis. Jak sem rikal, neni to tak, ze by byla kazda radka delsi nez 100 znaku. Nicmene nebudu se te snazit presvedcovat, chapu, ze kazdy ma nejaky zazitky zvyky a neco mu vyhovuje. Pravdou ovsem taky je, ze spousta jazyku obsahuje v syntaxi tolik garbage, ze se do tech sto znaku nekdy az tolik informace nevejde, zvlast kdyz ti treba 8-12 znaku vezme to odsazeni.
    AXTHEB
    AXTHEB --- ---
    QWWERTY: Nerozseká, ale samo je na to lint a nemergneš:

    tests/neco/test_abcde.py:88:130: E501 Line too long (186 > 129)
    QWWERTY
    QWWERTY --- ---
    AXTHEB: i tak jsou pripady, ktere ti formatter nespravi. resp. nevim jak `ruff`, ale `black` napr. nerozseka dlouhe stringy, etc...
    diky za pripomenuti ruffu. podle historie jsem na neho koukal uz 2023, kdyz jsem resil pre-commit hooky a pak na neho zapomel :D
    OMNISLASH
    OMNISLASH --- ---
    AXTHEB: Zrovna minuly tyden jsme resili pozadavek, ze uzivatele by radi jednu text area vetsi, protoze tam nekdy potrebuji napsat mensi slohovku. Jeden nas externi vyvojar navhnul, ze to muzeme udelat na 100% sirky obrazovky, ze je tam prece mista dost a ze pak se jim tam vejde dost textu.. :D Je to sice backend vyvojar, ale i tak.. :D
    DEEFHA
    DEEFHA --- ---
    AXTHEB: Dobrý, ruff jsem neznal. My používáme Black, isort a Flake8, což jak koukám umí ruff všechno nahradit :-)
    AXTHEB
    AXTHEB --- ---
    JARDABEREZA: Tomu se říká formatter a je to tak nějak základní nástroj hygieny zdrojového kódu. U nás to taky nejde poslat do repa, dokud nemáš c++ prohnaný clang-formatem a python ruffem.
    JARDABEREZA
    JARDABEREZA --- ---
    AXTHEB: Viděl jsem korporaci kde si maximální délku řádku vynucovali a teď přemýšlím jak to měli... jeslti to nešlo poslat do repa anebo to nějaký tool sám zpřeházel...
    AXTHEB
    AXTHEB --- ---
    VOY: JINX: Chápu, vy s tím problém nemáte, ale prostě jsou lidi, pro které přejít na další řádek o 100 písmen doleva znamená, že se musí soustředit na to, který řádek to je a to jim přeruší přemýšlení nad obsahem.
    MOAN_HARSHAW
    MOAN_HARSHAW --- ---
    tech 80x25 nevzniklo ve vakuu, 80 znaku je tak nejak rozumny maximum delky radku pro anglictinu i v tisku. a jako jasne, text programu nejsou odstavce v knize, ale delsi radky se ctou blbe.

    formatter vyresi, otazka je, kdo ho jak nakonfiguruje :)
    KLEINZACH
    KLEINZACH --- ---
    VOY: ze nedelame v Turbo *.*, jo ? :]

    KLEINZACH
    KLEINZACH --- ---
    MIKEE: To pak zmensuje mnozstvi informaci co mas aktivne videt na monitoru
    this :) (c++ pun intended)

    jsem pro to, zavest i vertikalni limit! a mel by byt uplne nahodou presne 25 radek... z historickych duvodu :D
    DEEFHA
    DEEFHA --- ---
    VOY: Sorry, já to prostě neučtu ¯\_(ツ)_/¯ Metr širokou knížku bych taky neocenil.
    VOY
    VOY --- ---
    QWWERTY: Jasne, s tim souhlasim, rekl bych, ze i pokud povolis 120, tak nebude kazda radka tak dlouha, takze se ti ve finale pohodlne tri editory vedle sebe vejdou a vic stejne nepotrebujes.
    VOY
    VOY --- ---
    DEEFHA: Tooling urcite dokaze udelat hodne v tom, ze to na tech 80 nemusim teoreticky formatovat sam, ale furt se budu divat na uzkou nudli kodu.

    Proc to delat, kdyz mame k dispozici moderni obrovsky displeje? Sorry, ale uz nedelame v Turbo Pascalu na 14" CRT monitoru, neni duvod se chovat jako by to tak bylo nebo jako by se kdykoli mavnutim kouzelneho proutku ten 14" monitor na muj stul pres noc vratil.

    Je to podobna logika jako psat vsechno v puvodnim vi bez jakychokoli pluginu, protoze _nikdy_nevis_ kdy se budes muset prihlasit na nejaky mainframe kde nic jinyho neni a cely hodiny tam neco ladit. Proste absurdni premisa.
    QWWERTY
    QWWERTY --- ---
    VOY: souhlas ze 80 je malo, nicmene i s ultrawide ocenim radky do 100-120 znaku
    napr. 3-way diff, kdy muzes bez problemu cist vsechny soubory vedle sebe, je docela pohodlny :)

    SH_PANDA: ano, proto jsem psal, ze muzu doporucit ultrawide, ktery ma na vysku 2k, protoze bezne prodavanych 32:9 mi taky prijde uplne dementni
    JINX
    JINX --- ---
    AXTHEB: tomu uplne nerozumim, vždycky jsem si myslel ze core problém je umet to spravne odradkovat tak aby to pri cteni davalo na první pohled smysl a člověk se v tom zbytečně neztrácel pri čtení.
    MIKEE
    MIKEE --- ---
    SH_PANDA: Tohle je duvod proc jsem porad nepresel z 3x24'' na jeden ultrawide monitor. Pouzivam to v modu dva monitory po stranach v portrait modu a na ten screen real estate na vysku navic jsme si za ty roky asi zvyknul az prilis.
    VOY: Mame 120 a 80 taky beru jako relikt z 4:3 doby.
    DEEFHA: 80 max muze znamenat, ze se spousta radek rozlozi na dva az tri radky. To pak zmensuje mnozstvi informaci co mas aktivne videt na monitoru. Je mi zahadou jak tohle vyresi dobry formatter, je to trade-off.
    DEEFHA
    DEEFHA --- ---
    VOY: Je to proto, že dlouhé řádky se obecně špatně čtou, pokud font extrémně dobře nevede oko. To platí u všeho včetně tiskovin.

    Nicméně tyhle debaty jsou celkem liché, dobře nastavený formatter se o všechno postará :-)
    Kliknutím sem můžete změnit nastavení reklam