Zlepšení čitelnosti vlastního kódu

Re:Zlepšení čitelnosti vlastního kódu
« Odpověď #60 kdy: 04. 06. 2021, 09:33:06 »


Re:Zlepšení čitelnosti vlastního kódu
« Odpověď #61 kdy: 06. 06. 2021, 16:12:13 »
No ja nevim ;-) komentare jsou tu a presto imho 99.9% lidi bez explainu netusi ktera bije.

float Q_rsqrt( float number )
{
   long i;
   float x2, y;
   const float threehalfs = 1.5F;

   x2 = number * 0.5F;
   y  = number;
   i  = * ( long * ) &y;                       // evil floating point bit level hacking
   i  = 0x5f3759df - ( i >> 1 );               // what the fuck?
   y  = * ( float * ) &i;
   y  = y * ( threehalfs - ( x2 * y * y ) );   // 1st iteration
//   y  = y * ( threehalfs - ( x2 * y * y ) );   // 2nd iteration, this can be removed

   return y;
}

Protoze jsou blbe pojmenovane promenne. Nazvat promennou number muze jen uplny zacatecnik.
Nee, problém není v pojmenování proměnných ale v komentářích co jsou úplně na hovno.

Kdyby v těch komentářích bylo že tím shiftem dělí exponent dvěma, jak došel k té magické konstantě kterou vylepšuje tu počáteční aproximaci (klidně pokus omyl, co já vím) a že je to iterace Newton-Raphson metody, tak se v tom vyzná i ne úplně hvězdný programátor.

Edit : Koukám, že jdu s vysvětlením pozdě. Pišu si dočíst thread až do konce :D

Re:Zlepšení čitelnosti vlastního kódu
« Odpověď #62 kdy: 06. 06. 2021, 16:23:34 »
Ja jsem velky zastance doctestovych komentaru. Jakekoliv komentare s vyjimkou doctestu a typovych anotaci jen duplikuji kod, stavaji se casem neaktualni.

ocenil bych v teto diskuzi odkazy na konkretni projekty na githubu, za me treba standardni knihovna cpythonu pouziva doctesty.

https://github.com/python/cpython/blob/main/Lib/collections/__init__.py

Idris

  • *****
  • 2 286
    • Zobrazit profil
    • E-mail
Re:Zlepšení čitelnosti vlastního kódu
« Odpověď #63 kdy: 06. 06. 2021, 22:07:39 »
Co je code review v grupě?
Je to jako review v monoidu, jen méně obecně.

Re:Zlepšení čitelnosti vlastního kódu
« Odpověď #64 kdy: 07. 06. 2021, 06:35:51 »
Ja jsem velky zastance doctestovych komentaru. Jakekoliv komentare s vyjimkou doctestu a typovych anotaci jen duplikuji kod, stavaji se casem neaktualni.

ocenil bych v teto diskuzi odkazy na konkretni projekty na githubu, za me treba standardni knihovna cpythonu pouziva doctesty.

https://github.com/python/cpython/blob/main/Lib/collections/__init__.py

Tu je obsirny framework https://github.com/Tapyr/tapyr, kde su vsetky testy spravene len cez doctesty. Priklad: https://github.com/Tapyr/tapyr/blob/4235fba6dce169fe747cce4d17d88dcf4a3f9f1d/_TFL/Filename.py#L106.


Re:Zlepšení čitelnosti vlastního kódu
« Odpověď #65 kdy: 07. 06. 2021, 14:03:48 »
kdyz jsem procital diskuzi, tak jsem si rikal, jestli je rok 1980.

Ale tenkrat vlstne root jeste neexistoval. No nic, asi ten vyvoj nejde tak rychle - tedy jak jsem si to ja kdysi predstavoval.

Pred nedavnem jsem byl u znameho ve firme. Tam jsem ve vyrobni hale na stolech videl taky takove predpisy, navody, pracovni postupy, jak je co treba delat. Rikali tam tomu vykres. Bylo dost prekvapive, ze kazdy tem navodum rozumnel - dokazal je cist. A dokonce ani neznali toho, kdo ty navody(programy  :)) ) psal.
Ani tam nepouzivali tu metodu, jak ji tady nekdo propaguje v diskuzi, totiz ze by u soustruhu stali 2 zamestnanci a delali by na jedne veci spolecne.
Co je podobne je ten review - to u tech vykresu taky nekdo dela, je tam dokonce kolonka, kde ten kontroler napise jmeno a datum. Ale jenom jeden a asi to kontroloval jen na jedne urovni , ne jako u toho postgresql.
Co jsem take nevidel byly  komentare. A kdyz, tak jsou porad stejne ... to je divne ???
 

BoneFlute

  • *****
  • 2 000
    • Zobrazit profil
Re:Zlepšení čitelnosti vlastního kódu
« Odpověď #66 kdy: 07. 06. 2021, 14:19:06 »
kdyz jsem procital diskuzi, tak jsem si rikal, jestli je rok 1980.

Ale tenkrat vlstne root jeste neexistoval. No nic, asi ten vyvoj nejde tak rychle - tedy jak jsem si to ja kdysi predstavoval.

Pred nedavnem jsem byl u znameho ve firme. Tam jsem ve vyrobni hale na stolech videl taky takove predpisy, navody, pracovni postupy, jak je co treba delat. Rikali tam tomu vykres. Bylo dost prekvapive, ze kazdy tem navodum rozumnel - dokazal je cist. A dokonce ani neznali toho, kdo ty navody(programy  :)) ) psal.
Ani tam nepouzivali tu metodu, jak ji tady nekdo propaguje v diskuzi, totiz ze by u soustruhu stali 2 zamestnanci a delali by na jedne veci spolecne.
Co je podobne je ten review - to u tech vykresu taky nekdo dela, je tam dokonce kolonka, kde ten kontroler napise jmeno a datum. Ale jenom jeden a asi to kontroloval jen na jedne urovni , ne jako u toho postgresql.
Co jsem take nevidel byly  komentare. A kdyz, tak jsou porad stejne ... to je divne ???

Dělal jsem čtyři roky ve fabrice. Když jsem nastupoval, ptal se mě ředitel, zda rozumím výkresům - no, učil jsem se to, no.
Pak jsem pravidelně chodil za mistrem s tím, ať zavolá zadavateli, že na tom plánu jsou tyhle kóty dvakrát, rozporné, a tady zase rozměr chybí.

Tož asi tolik k tvému příspěvku :-)

Ink

  • *****
  • 672
    • Zobrazit profil
    • E-mail
Re:Zlepšení čitelnosti vlastního kódu
« Odpověď #67 kdy: 07. 06. 2021, 15:35:25 »
kdyz jsem procital diskuzi, tak jsem si rikal, jestli je rok 1980.

Ale tenkrat vlstne root jeste neexistoval. No nic, asi ten vyvoj nejde tak rychle - tedy jak jsem si to ja kdysi predstavoval.

Pred nedavnem jsem byl u znameho ve firme. Tam jsem ve vyrobni hale na stolech videl taky takove predpisy, navody, pracovni postupy, jak je co treba delat. Rikali tam tomu vykres. Bylo dost prekvapive, ze kazdy tem navodum rozumnel - dokazal je cist. A dokonce ani neznali toho, kdo ty navody(programy  :)) ) psal.
Ani tam nepouzivali tu metodu, jak ji tady nekdo propaguje v diskuzi, totiz ze by u soustruhu stali 2 zamestnanci a delali by na jedne veci spolecne.
Co je podobne je ten review - to u tech vykresu taky nekdo dela, je tam dokonce kolonka, kde ten kontroler napise jmeno a datum. Ale jenom jeden a asi to kontroloval jen na jedne urovni , ne jako u toho postgresql.
Co jsem take nevidel byly  komentare. A kdyz, tak jsou porad stejne ... to je divne ???

Až na to, že programování není soustružení. Narýsovat hřídel je rutinní záležitost a obrobit podle výkresu válcovitý dílec v zásadě taky. Jenže u programování se nejen vždy znovu vynalézá kolo, to se montuje do celé sestavy a to často za běhu motoru a s cestujícími na palubě, ale během cesty se z původního stroje stává často něco zcela jiného, než bylo původně zamýšleno a zdokumentováno.

Re:Zlepšení čitelnosti vlastního kódu
« Odpověď #68 kdy: 07. 06. 2021, 16:23:41 »

Dělal jsem čtyři roky ve fabrice. Když jsem nastupoval, ptal se mě ředitel, zda rozumím výkresům - no, učil jsem se to, no.
Pak jsem pravidelně chodil za mistrem s tím, ať zavolá zadavateli, že na tom plánu jsou tyhle kóty dvakrát, rozporné, a tady zase rozměr chybí.

Tož asi tolik k tvému příspěvku :-)

ano, je to presne jak pises. Aniz by si znal toho zadavatele si mohl okamzite zjistit kde jsou v tom kodu chyby a samozrejme si take chapal o co jde. A i ten mistr a ti ostatni tomu take rozumneli ... atd , atd ...

Uprimne receno jsem ani necekal, ze nekdo ty moje myslenky podpori.

Re:Zlepšení čitelnosti vlastního kódu
« Odpověď #69 kdy: 07. 06. 2021, 16:28:41 »

.... Jenže u programování se nejen vždy znovu vynalézá kolo, to se montuje do celé sestavy a to často za běhu motoru a s cestujícími na palubě, ale během cesty se z původního stroje stává často něco zcela jiného, než bylo původně zamýšleno a zdokumentováno.

a tenhle nesmyslny styl prace vylepsime tedy tim, ze budeme psat srozumitelnejsi komentare, budeme psat jen 65 znaku na radku .... ?

BoneFlute

  • *****
  • 2 000
    • Zobrazit profil
Re:Zlepšení čitelnosti vlastního kódu
« Odpověď #70 kdy: 07. 06. 2021, 17:26:15 »

.... Jenže u programování se nejen vždy znovu vynalézá kolo, to se montuje do celé sestavy a to často za běhu motoru a s cestujícími na palubě, ale během cesty se z původního stroje stává často něco zcela jiného, než bylo původně zamýšleno a zdokumentováno.

a tenhle nesmyslny styl prace vylepsime tedy tim, ze budeme psat srozumitelnejsi komentare, budeme psat jen 65 znaku na radku .... ?

Ano.

Idris

  • *****
  • 2 286
    • Zobrazit profil
    • E-mail
Re:Zlepšení čitelnosti vlastního kódu
« Odpověď #71 kdy: 07. 06. 2021, 18:58:15 »

.... Jenže u programování se nejen vždy znovu vynalézá kolo, to se montuje do celé sestavy a to často za běhu motoru a s cestujícími na palubě, ale během cesty se z původního stroje stává často něco zcela jiného, než bylo původně zamýšleno a zdokumentováno.
a tenhle nesmyslny styl prace vylepsime tedy tim, ze budeme psat srozumitelnejsi komentare, budeme psat jen 65 znaku na radku .... ?
Ano.
Lepením k lepším zítřkům, aneb s 65 znaky na řádek budeme lepit lépe a radostněji :)

Ink

  • *****
  • 672
    • Zobrazit profil
    • E-mail
Re:Zlepšení čitelnosti vlastního kódu
« Odpověď #72 kdy: 07. 06. 2021, 19:26:14 »

.... Jenže u programování se nejen vždy znovu vynalézá kolo, to se montuje do celé sestavy a to často za běhu motoru a s cestujícími na palubě, ale během cesty se z původního stroje stává často něco zcela jiného, než bylo původně zamýšleno a zdokumentováno.

a tenhle nesmyslny styl prace vylepsime tedy tim, ze budeme psat srozumitelnejsi komentare, budeme psat jen 65 znaku na radku .... ?

Ten "nesmyslný styl práce" je dán byznysovým nastavením, na to má programátor malý nebo žádný vliv. Může se, v rámci svých kompetencí, snažit situaci zlepšit na vymezeném prostoru.

Je samozřejmě možné, že jsem nepochopil, co jsi chtěl říci, ale za pravděpodobné považuju, že jsi zvolil špatný příměr a tudíž bych byl rád, kdybys přišel s lepším vysvětlením, jak si představuješ správné psaní kódu a jak to v reálu zajistit.

Re:Zlepšení čitelnosti vlastního kódu
« Odpověď #73 kdy: 09. 06. 2021, 09:30:18 »
Přidám ještě jednu věc, o které se divím, že tu explicitně nepadla: Psát unit testy a nemilosrdně refaktorovat.

Unit testy tě donutí kód psát znovupoužitelně a rozdělit ho na smysluplné části (protože je tím pádem nutné ho použít alespoň ze dvou míst, z produkčního kódu a z testovacího kódu). To je hrozně důležitý.

Unit testy ti umožní refaktorovat kód, který se ti nelíbí - a to se stává pořád - vrátíš se ke staršímu kódu, nerozumíš mu, protože už to nemáš tolik v hlavě, nebo se ti něco nelíbí něco čeho sis nevšiml, tak to upravíš tak, aby to dávalo lepší smysl. Tohle neustálé vylepšování je podle mě povinnost, bez které se z projektu časem stane břečka. Super kód se často nepíše na první dobrou, ale iteruje se k němu. Nebo něco, co byl super kód dřív, přestane dávat smysl a musí se to trochu předělat kvůli novým byznys požadavkům. Unit testy ti dají důvěru a svobodu nutnou k tomu, aby jsi mohl kód upravovat a nebál se, že něco rozbiješ. To je hrozně důležitý.

Re:Zlepšení čitelnosti vlastního kódu
« Odpověď #74 kdy: 16. 06. 2021, 11:49:58 »
Zlepšení přijde samo, pokud se ke kódu musíš vracet a přidávat nové věci. A občas se musí napsat aplikace znovu, když ti investor nebyl schopný říct reálný stav věci a jelo se to hurá stylem  ;D  (jakože to měl být jen import katalogu do účetnictví a nakonec je z toho srovnávač cen alá heuréka a když je v to v jednom souboru, tak se to celkem blbě spravuje)
« Poslední změna: 16. 06. 2021, 11:55:07 od kotelgg »