Article View: pl.comp.objects
Article #13974Re: Pomiar metryk kodu w procesie kontroli jakości
From: Sektor van Skijlen
Date: Thu, 09 Mar 2006 16:43
Date: Thu, 09 Mar 2006 16:43
60 lines
4669 bytes
4669 bytes
Dnia Tue, 07 Mar 2006 00:19:35 +0100, mgl skrobie: > Muchomor wrote: > > Uzywamy InForce (http://www.klocwork.com/products/inforce.asp). > Korzystacie z tego z poziomu IDE? > Czy podłączyliście może do automatycznego buildowania? Jejku, co to za różnica. > Heh, taka cena "dojrzałości procesu" ;). Zasłyszane: w pewnej dużej > znanej firmie z CMM 5 regularnie prowadzone są przeglądy kodu, > polegające na skrupulatnym czytaniu kodu przez trzy osoby linijka po > linijce w ustalonym tempie i zatwierdzaniu każdego wiersza z osobna. > Oczywiście tak dokładny przegląd kodu ma duży sens, jednak raz > zatwierdzony kod jest zamrażany i "odmrożenie go" do zmian jest > procedurą nieprzewidzianą w procesie ;). Dochodzi więc do sytuacji, gdy > ktoś pracuje z kawałkiem kodu, który ma już kilka lat i o którym nie ma > żadnej wiedzy, i nagle okazuje się, że dokumentacja danego interfejsu > jest zbyt mało wyczerpująca - nie wiadomo do końca, jak dane metody > rzeczywiście działają, a do kodu zbliżyć się nie można. Taki lajf, gdy > procedur pełno - skomplikowany proces na pewno nie ułatwia pracy ;) Zgadza się. W praktyce zaś, im bardziej dokładny proces, tym częściej się go obchodzi. Taka zasada panuje zawsze i kto twierdzi, że udało mu się doprowadzić do stuprocentowego wypełniania procesu, to jest po prostu naiwny. A tak się składa, że mam kilkuletnią praktykę z firmą z CMM 5. I rzeczy, o których kolega pisze są jedną wielką fikcją. Po pierwsze, przeglądy kodu są prowadzone nie "regularnie", tylko po zakończeniu opracowywania (i najczęściej też wstępnym przetestowaniu) określonej zmiany w kodzie. Po drugie, kodu nie przegląda się linijka po linijce, tylko "funkcjonalnie"; czyta się, co kod robi, opisuje się słownie intencję autora, określa się logicznie operacje, jakie ma wykonać tak opisany kod. A już twierdzenie, że kod jest zamrożony to jest dosłownie szurnięte. Kod zamrożony? Jeżeli kod jest zamrożony, to znaczy, że nadaje się wyłacznie do kosza. Niby jak do kodu potem mają być dodawane nowe ficzery? Zresztą, co tam ficzery; w jaki sposób poprawia się błędy znalezione przez SST? Co więcej, jeśli ktoś przypadkiem na inspekcji zauważy błąd, którego do tej pory nikt nie wykrył, i to błąd, który nie został wprowadzony wraz z ostatnią poprawką - poprawia się go również! Dotyczy to również niejasnych komentarzy, literówek w komentarzach itp. Inspekcja służy do zatwierdzenia zmian, ale wykrywanie błędów na inspekcji to fikcja. Statystyki wykryć błędów przez inspekcje są mizerniutkie. I słusznie, bo inspekcja ma się skupić na kwestii CZYTELNOŚCI kodu i jasności jego intencji. Właśnie po to, żeby było łatwo później go modyfikować i wprowadzać poprawki, w tym również poprawki błędów. Ma zabezpieczać również przed przedostawaniem się do kodu głupich pomysłów. Nic więcej. Gdybyśmy po takiej inspekcji "zamrażali" kod, to taka inspekcja byłaby w ogóle pozbawiona jakiegokolwiek sensu. -- // _ ___ Michal "Sektor" Malecki <sektor(whirl)kis.p.lodz.pl> \\ L_ |/ `| /^\ ,() <ethourhs(O)gmail.com> // \_ |\ \/ \_/ /\ C++ bez cholesterolu: http://www.intercon.pl/~sektor/cbx "I am allergic to Java because programming in Java reminds me casting spells"
Technical Details
Message-ID:
<duplvf$4rm$1@kujawiak.man.lodz.pl>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.gazeta.pl!newsfeed.pionier.net.pl!news.man.lodz.pl!not-for-mailReferences:
<du5e2q$e7d$1@news.dialog.net.pl> <du5g0t$fjl$2@news.dialog.net.pl> <1141291004.527275.16010@z34g2000cwc.googlegroups.com> <du7640$t13$1@news.dialog.net.pl> <5038c$44072c89$57cffbdc$1229@news.chello.pl> <du8371$ofg$2@news.dialog.net.pl> <59570$440896d7$57cffbdc$13911@news.chello.pl> <duig0e$hue$1@news.dialog.net.pl>Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.gazeta.pl!newsfeed.pionier.net.pl!news.man.lodz.pl!not-for-mail
From: Sektor van Skijlen <ethouris@guess.if.gmail.com.is.valid.or.invalid>
Newsgroups: pl.comp.objects
Subject: Re: Pomiar metryk kodu w procesie kontroli jakości
Date: Thu, 9 Mar 2006 16:43:27 +0000 (UTC)
Organization: LODMAN - Metropolitan Area Network in LODZ, Poland
Lines: 60
Sender: Michal Malecki <sektor@zly.kis.p.lodz.pl>
Message-ID: <duplvf$4rm$1@kujawiak.man.lodz.pl>
References: <du5e2q$e7d$1@news.dialog.net.pl> <du5g0t$fjl$2@news.dialog.net.pl> <1141291004.527275.16010@z34g2000cwc.googlegroups.com> <du7640$t13$1@news.dialog.net.pl> <5038c$44072c89$57cffbdc$1229@news.chello.pl> <du8371$ofg$2@news.dialog.net.pl> <59570$440896d7$57cffbdc$13911@news.chello.pl> <duig0e$hue$1@news.dialog.net.pl>
NNTP-Posting-Host: zly.kis.p.lodz.pl
Mime-Version: 1.0
X-Trace: kujawiak.man.lodz.pl 1141922607 4982 212.191.89.2 (9 Mar 2006 16:43:27 GMT)
X-Complaints-To: abuse@man.lodz.pl
NNTP-Posting-Date: Thu, 9 Mar 2006 16:43:27 +0000 (UTC)
User-Agent: tin/1.6.2-20030910 ("Pabbay") (UNIX) (SunOS/5.9 (sun4u))
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit