Article View: pl.comp.objects
Article #13665Re: Refaktoryzacja, metryki kodu - poszukuję informacji
From: Grzesiek G.
Date: Wed, 30 Nov 2005 09:19
Date: Wed, 30 Nov 2005 09:19
94 lines
4819 bytes
4819 bytes
Sektor van Skijlen napisał(a): > Dnia Tue, 29 Nov 2005 17:26:37 +0100, Grzesiek G. skrobie: > >>Chcąc ulepszyć przeprowadzam refaktoryzację. Aby określić priorytety >>refaktoryzacji robiłem np. tak: >>1. Badałem "Cyclomatic Complexity" (sorry, ale nie wiem, jak to się >>tłumaczy na polski) kodu. > > > Złożoność cyklomatyczna. Najczęściej wystarczy znaleźć "łaciński" odpowiednik, > co w języku angielskim, zwłaszcza jeśli chodzi o formalne terminy, nie jest > trudne. Też bym stawiał na cyklomatyczna, tylko że to chyba nic nie znaczy (przynajmniej nikt w rodzinie nie wiedział). > > >>2. Zaczynając od najbardziej złożonych metod zaczynałem je upraszczać, >>aż do osiągnięcia zadawalającej wartości CC. >>Jest to oczywiście opis uproszczony, bo celem refaktoryzacji nie jest >>jedynie upraszczanie złożonego kodu. > > > Jeśli tak, to ty chyba naprawdę nie masz co robić, albo potrzebujesz podkładki > dla managementu. > Na szczęście mam co robić i nie potrzebuję podkładki. Po prostu metrykami kodu zająłem się w czasie poświęcanym na naukę, a nie na pracę. Być może nie jest to najważniejsza rzecz (czyli po prostu błądzę), ale nie stać mnie na pójście prywatnie na jakiś kurs ukierunkowujący mój rozwój. Dlatego pytam się o rady bardziej doświadczonych. > Złożoność cyklomatyczną i wszelkie inne złożoności - jak z moich doświadczeń > wynika - robi się tylko i wyłącznie z jednego powodu: żeby mieć formalną > podkładkę do pokazania durnym ćwierćprogramistom, że ten kod, który napisali, > nadaje się najwyżej do podtarcia dupy. W bardzo dużych firmach (a ja w takiej > akurat pracuję) jest to wręcz konieczność, bo tłumaczenie niektórym matołom, > dlaczego kod powinni napisać inaczej, w sytuacji gdy wprawny programista po > prostu spojrzy na kod i widzi, że tak napisany kod jest o dupę rozbić, to > najczęściej jak grochem o ścianę. > A jak wyeliminować konieczność spoglądania przez wprawnego programistę na kod napisany przez ćwierćprogramistę (bo to kosztuje). Zapuścić toola, który to zrobi automatycznie. > Problem polega na tym, że ustalenia odnośnie tego, jak pisać kod żeby był > "ładny" (to znaczy, żeby był czytelny, przejrzysty, bezpieczny, łatwo > rozszerzalny itd.), najczęściej są płynne. Programiści z sensownym > doświadczeniem i z wyobraźnią potrafią taki kod zrobić bez żadnego sprawdzania Jasne, tylko jak stwierdzić, czy programista ma już to pewne doświadczenie? > Ręce mi tylko czasami opadają, jak czasami mówię ludziom: no tu i tu > przydałoby się to zrobić tak-i-tak (co dla mnie akurat było wręcz > oczywistością, że tak się kod powinno pisać - przeważnie chodzi np. o > podzielenie kodu na mniejsze funkcje, zrobienie funkcji użytkowych możliwych > do wykorzystania w kilku miejscach, czyli naprawdę rzeczy PODSTAWOWE!) - po > czym w najlepszym razie słyszę "O, no, w zasadzie to byłby dobry pomysł...". I > to słyszę od programistów, którzy niby mają ponad trzyletnie doświadczenie z > software engineering. > No właśnie - wiele tych rzeczy można zautomatyzować metrykami. > Nie wiem. Widywałem czasem ustalone dopuszczalne wartości i wydaje mi się, że > trzeba to raczej samemu wypraktykować (wątpię, czy ktokolwiek ci coś ntt. > podpowie, bo to jest, szczerze powiedziawszy, taka trochę wiedza tajemna). > Mimo wszystko przed ustaleniem własnych wartości warto poszukać, czy ktoś inny nie opublikował swoich ustaleń. Dzięki za komentarz -- Grzegorz Gruza Odpowiadając usuń "spamerom_nie." z adresu!!!
Technical Details
Message-ID:
<dmjqsl$aq5$1@nemesis.news.tpi.pl>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!newsfeed.gazeta.pl!news.nask.pl!news.nask.org.pl!newsfeed.tpinternet.pl!atlantis.news.tpi.pl!news.tpi.pl!not-for-mailReferences:
<dmhvg8$3lo$1@atlantis.news.tpi.pl> <dmieh1$h0f$1@kujawiak.man.lodz.pl>Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!newsfeed.gazeta.pl!news.nask.pl!news.nask.org.pl!newsfeed.tpinternet.pl!atlantis.news.tpi.pl!news.tpi.pl!not-for-mail From: "Grzesiek G." <gruza@spamerom_nie.priv4.onet.pl> Newsgroups: pl.comp.objects Subject: Re: Refaktoryzacja, metryki kodu - poszukuję informacji Date: Wed, 30 Nov 2005 10:19:26 +0100 Organization: tp.internet - http://www.tpi.pl/ Lines: 94 Message-ID: <dmjqsl$aq5$1@nemesis.news.tpi.pl> References: <dmhvg8$3lo$1@atlantis.news.tpi.pl> <dmieh1$h0f$1@kujawiak.man.lodz.pl> NNTP-Posting-Host: hostr.bielbit.com.pl Mime-Version: 1.0 X-Trace: nemesis.news.tpi.pl 1133342421 11077 195.117.206.2 (30 Nov 2005 09:20:21 GMT) X-Complaints-To: usenet@tpi.pl NNTP-Posting-Date: Wed, 30 Nov 2005 09:20:21 +0000 (UTC) User-Agent: Mozilla Thunderbird 1.0.2 (Windows/20050317) X-Accept-Language: pl, en-us, en In-Reply-To: <dmieh1$h0f$1@kujawiak.man.lodz.pl> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit