Komentáře k článku

Code review checklist

Nedávno jsem v práci prezentoval, jaké přínosné věci používáme na aktuálním projektu. Vyzkoušeli jsme si spoustu zajímavých nástrojů a praktik a v podstatě to byla taková laboratoř, kdy ty funkční záležitosti použijeme na dalším projektu.

Zpět na článek

7 komentářů k článku Code review checklist:

  1. sachy

    Zakomentovany kod
    Zdravim, zaujala me myslenka ze zakomentovany kod do zdrojaku nepatri.

    Verim, ze pokud vyvijite s ocekavanou zivotnosti par let, tak verzovaci system snese vsechno a tedy smazany kod lze jednoduse obnovit z historie.

    Pokud mate SW, ktery je uz ted starsi nez vy a ma vas pokud mozno i prezit, plati jednoduche pravidlo: co je v kodu, to se neztrati. Kdyz neco rozbije zdrojaky, poznate to hned. Kdyz neco rozbije metadata, muze se to projevit az za X let a nikdo uz to dokupy neda.

    To same plati o „komentarovych romanech“ primo v kodu. A ted do me:)

    1. Vít KotačkaAutor příspěvku

      Re: Zakomentovany kod
      Moje zkušenost je jiná – ať už byl kód můj, nebo někoho jiného, nikdy jsem ho pak už nepoužil. Jakmile se kód jednou zakomentuje (a není to jen dočasný workaround na pár hodin), je to mrtvý kód, na který už nikdo nešáhne. Důvodů je několik, namátkou:

      • Lidé mají obvykle problém porozumnět „normálnímu“ kódu, natož něčemu co je (většinou z neznámých důvodů) zakomentované.
      • Jakmile se něco zakomentuje, velmi rychle to zastará, takže to přestane být kompatibilní se změnama, které následně nastaly.
      • Zakomentovaný kód původně vzniknul na základě nějaké myšlenky – jenže ten kontext už se nejspíš dávno ztratil a tak není důvod kód znovu resuscitovat.
      • Zakomentovaný kód snižuje celkovou čitelnost. Pokud tedy někdo nemá „odvahu“ ho smazat, tak ho mentálně ignoruje.

      S jednoduchým pravidlem co je v kodu, to se neztratí nesouhlasím. I pokud už kód není ve VCS, nevzpomínám si na případ, kdy by mi zakomentovaný kód nějak pomohl, byť jenom k lepšímu pochopení aplikace. Naopak, viz body výše. To, že kód už není ve VCS znamená, že (téměř) veškerý kontext jeho vzniku už dávno zmizel (a to i pokud dělá support někdo, kdo to původně vyvíjel).

      Důvod, proč někdo nechává zakomentovaný kód je nejspíš emocionální – ačkoliv přišla změna, nejsem schopen se zbavit něčeho, co mi dalo tolik práce. A možná je to taky nezkušenost s dynamikou softwarového projektu (co platí dnes, bude platit i zítra).

      1. filip.jirsak

        Re: Zakomentovany kod
        Zakomentovaný kód má podle mne smysl v jednom případě. Napíšu správný kód, ale pak se ukáže, že s ním aplikace nefunguje správně – protože je chyba v použité knihovně, runtime, kompilátoru apod. Pak je potřeba tu chybu nějak obejít, udělá se workaround – ale původní kód je dobré ponechat na místě, jednak pro případ, kdy bude chyba v závislosti opravena, jednak ten kód dobře dokumentuje tu jednoduchou variantu, co to má dělat (workaround je zpravidla hůř čitelný).

        1. Jiri Knesl

          Re: Zakomentovany kod
          To já si myslím, že právě taková věc se spíš hodí do branche než do komentáře.

        2. Michal Haták

          Re: Zakomentovany kod
          Pro ten případ máš kód ve verzovacím systému :)

          U nás se o to kolegové často pokouší (nechat kód zakomentovaný) a setkal jsem se tim že to byla i majorita v nějakém scriptu. Imo nejlepší smazat (máme to ve VCS) a pokud to někomu přijde zajímavé maximálně doplnit komentář že se to někde řešilo (v našem případě ticket + důvod) ale stejně si nepamatuji, že by to někdy bylo třeba.

  2. Satai

    Ne.

    Taková hypotetická možnost nevyváží množství naprosto reálných potíží, při kterých se ten balast bude jen plést pod ruce.

    A pokud nastane, tak stejně ten kód nepůjde použít, protože se změnil kontext.

  3. Ondřej Medek

    Maly commit
    Commit má řešit jednu věc, ale nemusí být malý. Naopak příliš malých commitů je někdy na škodu – jen zhoršuje čitelnost „co se to vlastně stalo“.

Napsat komentář

Tato diskuse je již příliš stará, pravděpodobně již vám nikdo neodpoví. Pokud se chcete na něco zeptat, použijte diskusní server Devel.cz

Zdroj: https://www.zdrojak.cz/?p=12866