O rany kiedyś z tym strasznie walczyłem i miałem dużo trudnych i toksycznych przypadków. Nawet cały zespół przeciwko sobie.
Robienie metryk tak jak to napisał @roSzi, działa - pozwala przeciągnąć na swoją stronę sojuszników. Ludzie chyba lubią takie gierki
i się wciągają (i można sobie zrobić metrykową patologię, ale to inny temat). W kilku zespołach dzięki metrykom dużo mi się udało osiągnąć , przy czym jeden to na początku była totalna patologia(nawet szkoda opisywać i tak nikt nie uwierzy -wyznawcy gorliwi copy paste i hashtable oriented programming).
Ale też to były czasy javy 1.3 i , 1.4 i wtedy działały Checkstyle, PMD i inne narzędzia, (miedzy innymi liczą Cyclomatic Complexity i inne metryki). Było mniej, więcej przyjęte (np. w Checkstyle) co jest dobrym kodem i mało kto sie kłócił, które reguły sa dobre, a które warto wyłączyć.
Teraz to bardziej pokitrane. Przez kod funkcyjny jest różnie, dużo metryk nie ma sensu (nawet CC w kodzie czysto funkcyjnym jest do duszy, potrafie zrobić mega skomplikowany kod bez jednego ifa ..., który ma idealne CC = 1). Przez rewolucję Clean Code - dużo reguł jest przestarzałych i jest więc nawet antymetrykami, antypatternami (checkstyle potrafi w defaultowej konfiguracji przyczepić się do braku JavaDoc do geterów).
Więc nie jest już tak łatwo.
Szukam artykułów z sieci i podaje linki - w celach edukacyjnych. (ile razy wrzuciłem artykuł Olivier Gierke o field injection to już nie pamiętam, o checked exceptionach itp. o nie robieniu w JSFie...)
Wrzucam i czasem kogoś przekonam (czasem to trwa). najgorsze, że w sieci do każdego artykułu znajdziesz antyszczepionkowcaów. Pewien plus, że jeśli oponent jest nieczytający
to jest szansa, że nie będzie umiał znaleźć.
Nie do przecenienia jest też fakt, że jest mi łatwiej, bo jestem stary i mam brode - mam automatycznie +10 do autorytetu w sprawach IT.
Przy okazji: - może się okazać, że moja i Twoja opinia o liczbach magicznych
jest różna.
Przypomniałem sobie, jak ... nie tak dawno temu zapisałem się na to forum... aby nauczyć się dskutować z ludżmi mniej zaawansowanymi. Bo o ile dogadywałem się zawsze z doświadczonymi programistami i architektami ... to zacząłem mieć problem z juniorami, przepaść w warstwie językowej (btw. widzę postępy).