Tema: Re: Tai, aišku, gana intymu...
Autorius: Rimantas Liubertas
Data: 2009-11-30 21:19:33
> Tas įrašas kalba susieja abi pozicijas kartu. Abiejoms pozicijoms 
> būdinga tai, kad komentarų *reikia*.

Dėl šito nesiginčysiu, tik pridėsiu „naudingų“.

<…>
> Tokių (komentuotinų) vietų kokybiškame, palaikomame kode realybėje 
> (įvairių kokybiškų projektų statistika) prisikaupia -- ir įvairios 
> metrikos vertinančios kodo kokybę diktuoja -- ne mažiau nei ~10% „tūrio“.

Na, apie metrikas galima būtų metus ginčytis, bet mano galva joks 
skaičius ar jų krūva niekada negalės nusakyti kodo (kaip ir muzikos ar
paveikslo) kokybės.

Dėl 10% — greičiausiai šaltinis yra IBM darytas tyrimas (Jones, Capers. 
2000. Software Assessments, Benchmarks, and Best Practices. Reading, MA: 
Addison-Wesley.), bet išvada buvo kad maždaug 1 komentaras dešimčiai 
kodo eilučių duoda aiškumo optimumą.

> Jei jų yra mažiau, o *ypač* _turint_omenyje_ pavienio programuotojo kodą 
> (kuris, mano galva, bus beveik *neabejotinai* prastesnės kokybės, nei 
> pavyzdinių, tvarkingų opensource projektų,

Na, imkim Kunth'o TEX'ą ir kokią joomlą…
Nors Knuth'ą aš čia be reikalo paminėjau, turint omeny jo „literate 
programming“ ;)

Šiaip viskas nuo projekto ir žmonių priklauso. Vieno programuotojo
darbas turi daugiau šansų turėti normalią architektūrą ir vienodą
stilių. Daug programuotojų turi daug šansų pagaminti šiupinį.
Optimalu turbūt, kai pradinis darbas daromas vieno-dviejų turinčių
aiškią viziją žmonių, o vėliau jau prisijungia daugiau.

>> //add a and b and store result in tmp
>> tmp = a + b
>>
>> Gausi komentarų ir kodo santykį 1:1, o naudos?
> 
> Tokių komentarų neturėjau omenyje (iš dalies dėl to ir tą link'ą 
> pateikiau)...

Bet sausas skaičius 10% visai nesako, _kokie_ tie 10%.
Aš tą ir noriu pasakyti: skaičius nelabai ką pasako. Gali būti labai
prastas kodas, su 10% prastų komentarų (kaip mano pavyzdy), gali būti
prastas kodas, bet naudingi komentarai (tarkim nieko nesakantys 
kintamųjų ir metodų vardai, bet jų prasmė aiškinama komentaruose),
gali būti kodas, kuris neturi tos problemos, bet tuo pačiu atpuola
ir ją sprendžiančių komentarų poreikis, vadinasi jų bus <10%, bet kodas
bus aiškesnis; ir t.t. ir pan.


ic
--
http://rimantas.com/