Já to při zkracování špatně napsal, omlouvám se. Mělo být "% komentářů ve zdrojovém kódu převedené na radiány".
V článku jsem to opravil, díky za upozornění.
Ten výpočet je takový prapodivný, protože napřed si vypočítají to %, ale proč se to převádí na radiány, tu teorii za tím netuším :-):
comments_lines = raw.comments + (raw.multi if count_multi else 0)
comments = comments_lines / float(raw.sloc) * 100 if raw.sloc != 0 else 0
...
...
...
comments_scale = math.sqrt(2.46 * math.radians(comments))
Nejde o přepočet na radiány. Jde o vážený součet 4 metrik. Prostě usoudili, že pro udržovatelnost jsou ty metriky důležité právě v tomto poměru:
The Software Maintainability Index (MI) is a single-value indicator for the maintainability of a software system. It was proposed by Oman and Hagemeister in the early nineties [1]. The Maintainability Index is computed by combining four traditional metrics. It is a weighted composition of the average Halstead Volume per module, the Cyclomatic Complexity, the number of lines of code (LOC) and the comment ratio of the system.
na jakém intervalu? :))
podle kódu, který uvedl Tišnovský je to 0 až 100 a vypadá to takhle http://www.wolframalpha.com/input/?i=sin+(sqrt+(+2.46+*+x+)+)+for+x+from+0+to+100 (a asi by to tak byl bug)
tady jsem našel to metriku, asi to má omezit vliv pom+ru komentářů na výsledek
http://static1.1.sqspcdn.com/static/f/702523/9457031/1290003349713/200108-Welker.pdf?token=7+6uapX6Nng92A2i5ggANrgiH34=
jinak, zabývám se tím z čiré zvědavosti
C je číslo od 0 až 100 a tvrdí se o tom, že jsou to úhlové stupně. Převede se to na radiány, takže máte číslo od 0 do 1.745. To se vynásobí číslem 2.46, takže máte číslo od 0 do 4.29. No a nakonec odmocnina, takže čísla od 0 do 2.072. Zapsáno jinak je to od 0 do 0.66 Pi.
Pokud tohle někdo prožene sinem, a čím vyšší číslo, tím lépe, pak to začne na nule a rychle roste. Kolem cca 60% procent komentářů to dosáhne maxima, začne to klesat a při 100% komentářů se to zastaví na 0.87, což je stejná hodnota, jakou to mělo u cca 27% komentářů.
http://www.wolframalpha.com/input/?i=sin+(+sqrt+(+2.46+*+(x*Pi%2F180)+))+for+x+from+0+to+100
Osobně mi to přijde, že někdo hledal funkci, která do nějaké hodnoty roste a pak zase klesá. Nic víc bych za tím nehledal a v konstantě 2.46 bych viděl spíše nastřelenou hodnotu, se kterou to vypadá dobře, než nějaký produkt výzkumu a výsledek analýzy milionů řádků kódu.