Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Metryki - porownanie projektow

12 views
Skip to first unread message

Adam Przybylek

unread,
Aug 27, 2009, 5:41:20 AM8/27/09
to
Problem wyglada nastepujaco. Na podstawie tej samej specyfikacji wymagan
zrealizowano dwie implementacje. Chce porownac te implementacje pod
wzgledem np. metryki CBO (Coupling Between Objects). Mam policzone CBO
dla kazdej klasy skladajacej sie na impelementacje. Pytanie co zrobic
dalej? Przegladajac artykuly spotkalem nastepujace podejscia:
a) wyliczenie sredniej arytmetycznej i odchylenia standardowego dla CBO
b) wyliczenie mediany dla CBO
c) zsumowanie CBO poszczegolnych klas
Jednak w artykulach tych nie ma uzasadnienia zastosowanego podejscia.

Podejscie b) jest "metodologicznie" poprawne, tylko ze mediana czasami
"ukrywa" istotne wlasnosci rozkladu. Np. dla 5 klas o nastepujacych
wartosciach CBO {1, 1, 1, 10, 10} mediana wynosi 1.

Podejscie c) wydaje sie niesluszne, poniewaz w implementacji bardziej
elastycznej, przewidujacej przyszle rozszerzenia bedzie zwykle wiecej
klas (Po sumowaniu CBO wyjdzie duze, choc poszczegolne klasy moga miec
CBO niski). Poza tym tak samo jak w podejsciu b) nic nie wiemy o
rozrzucie CBO.

W podejsciu a) CBO klas "malutkich" i "duzych" w rownym stopniu wplywa
na srednia. Wydaje mi sie, ze lepszym rozwiazaniem byloby obliczenie
sredniej i odchylenia wazonego. Jako wagi mozna by przyjac np. LOCC
(Lines of Class Code) poszczegolnych klas.

Moze spotkaliscie sie z badaniami naukowymi w tym kierunku, albo macie
wlasne doswiadczenie?

Pozdrawiam,
Adam

A.L.

unread,
Aug 27, 2009, 8:43:14 AM8/27/09
to
On Thu, 27 Aug 2009 11:41:20 +0200, Adam Przybylek
<ada...@zr.univ.gda.pl> wrote:

>Problem wyglada nastepujaco. Na podstawie tej samej specyfikacji wymagan
>zrealizowano dwie implementacje. Chce porownac te implementacje pod

[..]


>
>Moze spotkaliscie sie z badaniami naukowymi w tym kierunku, albo macie
>wlasne doswiadczenie?
>
>Pozdrawiam,
>Adam

Tak,. Mam wlasne doswiadczenie, mianowicie takie ze tego rodzaju
dialalnosc to bicie piany i dowod na to ze nie ma sie prawdziwych
problemow, a firma zatrudnia za duzo ludzi i powinna troche ich
wywalic.

A.L.

Wit Jakuczun

unread,
Aug 27, 2009, 8:54:03 AM8/27/09
to
On 27 Sie, 11:41, Adam Przybylek <adam...@zr.univ.gda.pl> wrote:
> Problem wyglada nastepujaco. Na podstawie tej samej specyfikacji wymagan
> zrealizowano dwie implementacje. Chce porownac te implementacje pod
> wzgledem np. metryki CBO (Coupling Between Objects). Mam policzone CBO

U nas jeszcze kaligrafię sprawdzamy. :)
Nie widzę sensu w działaniach, o których piszesz... ale może byś
potrafił
to mi przybliżyć?

Pozdrawiam,
Wit

Adam Przybylek

unread,
Aug 27, 2009, 9:28:39 AM8/27/09
to
A.L. napisał(a):

> Tak,. Mam wlasne doswiadczenie, mianowicie takie ze tego rodzaju
> dialalnosc to bicie piany i dowod na to ze nie ma sie prawdziwych
> problemow, a firma zatrudnia za duzo ludzi i powinna troche ich
> wywalic.
>

Ale ja nie firma. Ja sie nad tym zastanawiam na poziomie "research"
(patrz odpowiedz nizej).

Adam Przybylek

unread,
Aug 27, 2009, 9:32:33 AM8/27/09
to
Wit Jakuczun napisaďż˝(a):
> U nas jeszcze kaligrafiďż˝ sprawdzamy. :)
> Nie widz� sensu w dzia�aniach, o kt�rych piszesz... ale mo�e by�
> potrafiďż˝
> to mi przybli�y�?
>

Konkretnie to chce porownac pod wzgledem metryk przykladowe
implementacje GoF design patterns
(http://hannemann.pbworks.com/Design-Patterns) w wersji obiektowej i
aspektowej. A tutaj narzedzie, ktore wylicza podstawowe metryki
(uwzgledniajac konstrukcje aspektowe): http://aopmetrics.tigris.org.

Wit Jakuczun

unread,
Aug 27, 2009, 9:31:56 AM8/27/09
to
On 27 Sie, 15:32, Adam Przybylek <adamp...@vp.pl> wrote:
> Wit Jakuczun napisał(a):

>
> > U nas jeszcze kaligrafię sprawdzamy. :)
> > Nie widzę sensu w działaniach, o których piszesz... ale może byś
> > potrafił
> > to mi przybliżyć?
>
> Konkretnie to chce porownac pod wzgledem metryk przykladowe
> implementacje GoF design patterns
> (http://hannemann.pbworks.com/Design-Patterns) w wersji obiektowej i
> aspektowej. A tutaj narzedzie, ktore wylicza podstawowe metryki
> (uwzgledniajac konstrukcje aspektowe):http://aopmetrics.tigris.org.

Ok, ja zrozumiałem co chcesz zrobić. Zastanawiam się po co komu takie
statystyki,
oprócz powodów, które wskazał A.L. (są ludzie, którzy coś muszą robić,
więc robią
nic). Możesz wytłumaczyć?

Pozdrawiam,
Wit

Adam Przybylek

unread,
Aug 27, 2009, 9:55:17 AM8/27/09
to
Wit Jakuczun napisaďż˝(a):
> Ok, ja zrozumia�em co chcesz zrobi�. Zastanawiam si� po co komu takie
> statystyki,
> opr�cz powod�w, kt�re wskaza� A.L. (s� ludzie, kt�rzy co� musz� robi�,
> wi�c robi�
> nic). Mo�esz wyt�umaczy�?
>

Kiczales i Hannemann pisza, ze za pomoca paradygmatu aspektowego udalo
im sie poprawic wiekszosc implementacji GoF. Jak dla mnie implementacje
w wersji aspektowej sa w wiekszosci gorsze. Co prawda separacja
zagadnien na poziomie fizycznym jest lepsza, ale "ogolny coupling"
wydaje sie byc wiekszy. Chcialem zobaczyc co w tym temacie powiedza metryki.

A.L.

unread,
Aug 27, 2009, 10:16:26 AM8/27/09
to
On Thu, 27 Aug 2009 15:28:39 +0200, Adam Przybylek
<ada...@zr.univ.gda.pl> wrote:

>A.L. napisaďż˝(a):

No to proponuje zeby sei zajal jakmis "recearch" ktory ma jakis sens

A.L.

A.L.

unread,
Aug 27, 2009, 10:17:09 AM8/27/09
to
On Thu, 27 Aug 2009 15:55:17 +0200, Adam Przybylek
<ada...@zr.univ.gda.pl> wrote:

>Wit Jakuczun napisaďż˝(a):
>> Ok, ja zrozumia�em co chcesz zrobi�. Zastanawiam si� po co komu takie
>> statystyki,
>> opr�cz powod�w, kt�re wskaza� A.L. (s� ludzie, kt�rzy co� musz� robi�,
>> wi�c robi�
>> nic). Mo�esz wyt�umaczy�?
>>
>
>Kiczales i Hannemann pisza,

Sorry, oni przewaznie pieprza.

A.L.

Bogusław Faja

unread,
Aug 28, 2009, 1:13:11 AM8/28/09
to
Dnia Thu, 27 Aug 2009 06:31:56 -0700 (PDT), Wit Jakuczun napisaďż˝(a):

> On 27 Sie, 15:32, Adam Przybylek <adamp...@vp.pl> wrote:

>> Wit Jakuczun napisaďż˝(a):
>>
>>> U nas jeszcze kaligrafiďż˝ sprawdzamy. :)
>>> Nie widz� sensu w dzia�aniach, o kt�rych piszesz... ale mo�e by�
>>> potrafiďż˝
>>> to mi przybli�y�?
>>

>> Konkretnie to chce porownac pod wzgledem metryk przykladowe
>> implementacje GoF design patterns
>> (http://hannemann.pbworks.com/Design-Patterns) w wersji obiektowej i
>> aspektowej. A tutaj narzedzie, ktore wylicza podstawowe metryki
>> (uwzgledniajac konstrukcje aspektowe):http://aopmetrics.tigris.org.
>

> Ok, ja zrozumia�em co chcesz zrobi�. Zastanawiam si� po co komu takie
> statystyki,


> opr�cz powod�w, kt�re wskaza� A.L. (s� ludzie, kt�rzy co� musz� robi�,
> wi�c robi�
> nic). Mo�esz wyt�umaczy�?

Celem metryk mo�e by� np:
- niezale�ne por�wnanie ze sob� np. dw�ch projekt�w,
- okre�lenie jakie potencjalne problemy podczas rozwoju projektu mog�
nast�pi�,
- badanie (podczas dzia�ania Continuous Integration), czy wprowadzone
zmiany nie psujďż˝ struktury projektu,
- badanie zale�no�ci pomi�dzy jednostkami,
- etc.

My�l�, �e s� one w znacznym stopniu podobne do wska�nik�w gie�dowych,
marker�w krwi, itp. itd - zale�� od interpretacji.

Nastomiast co do usuwania skrajnych warto�ci: je�li jaka� metryka ma
nieprawid�ow� warto��, to prawdopodobnie co� jest nie tak z badanym
zestawem danych (zbyt du�a ilo�� metod na klas�, linii kodu w metodzie,
itp.) i usuwanie tych mniej przyjemnych chyba nie jest najlepszym
rozwi�zaniem ;-) Najlepiej by�oby doprowadzi� zestaw do takiego stanu, aby
metryki spe�nia�.

pozdrawiam,

--
http://moznalepiej.pl - ta�sze ksi��ki
http://lepszalokata.pl - optymalizacja lokat

A.L.

unread,
Aug 28, 2009, 8:06:49 AM8/28/09
to
On Fri, 28 Aug 2009 07:13:11 +0200, Bogus�aw Faja
<zymen_out_@_out_zymen.net> wrote:

>
>Celem metryk mo�e by� np:
>- niezale�ne por�wnanie ze sob� np. dw�ch projekt�w,
>- okre�lenie jakie potencjalne problemy podczas rozwoju projektu mog�
>nast�pi�,
>- badanie (podczas dzia�ania Continuous Integration), czy wprowadzone
>zmiany nie psujďż˝ struktury projektu,
>- badanie zale�no�ci pomi�dzy jednostkami,
>- etc.
>
>My�l�, �e s� one w znacznym stopniu podobne do wska�nik�w gie�dowych,
>marker�w krwi, itp. itd - zale�� od interpretacji.
>
>Nastomiast co do usuwania skrajnych warto�ci: je�li jaka� metryka ma
>nieprawid�ow� warto��, to prawdopodobnie co� jest nie tak z badanym
>zestawem danych (zbyt du�a ilo�� metod na klas�, linii kodu w metodzie,
>itp.) i usuwanie tych mniej przyjemnych chyba nie jest najlepszym
>rozwi�zaniem ;-) Najlepiej by�oby doprowadzi� zestaw do takiego stanu, aby
>metryki spe�nia�.
>
>pozdrawiam,

Przepraszam, ale to jest nonsens totalny.. ..

A.L.

A.L.

unread,
Aug 28, 2009, 9:53:04 AM8/28/09
to
On Fri, 28 Aug 2009 07:13:11 +0200, Bogus�aw Faja
<zymen_out_@_out_zymen.net> wrote:

>
>Celem metryk mo�e by� np:
>- niezale�ne por�wnanie ze sob� np. dw�ch projekt�w,
>- okre�lenie jakie potencjalne problemy podczas rozwoju projektu mog�
>nast�pi�,
>- badanie (podczas dzia�ania Continuous Integration), czy wprowadzone
>zmiany nie psujďż˝ struktury projektu,
>- badanie zale�no�ci pomi�dzy jednostkami,
>- etc.
>
>My�l�, �e s� one w znacznym stopniu podobne do wska�nik�w gie�dowych,
>marker�w krwi, itp. itd - zale�� od interpretacji.
>

Tak na marginesie, przypominaja mi sie czasy gdy teorie informacji
probowano uzywac do oceny dziel literackich. To w tamtych czasach
"badania naukowe" pokazalu ze najlepsy utwor literacki to taki gdzie
zdanie ma nie wiecej niz iles tam slow, paragraf nie wiecej niz iles
tam zdan, a rozdziel nie wiecej iles tam paragrafow. Stanislaw Lem
bezlitosnie wyszydzal te idiotyzmy

"Metryki" programow maja wiecej ma taki sam sens.

Niedawno mialem dyskusje z jednym zwolennikeim metryk ktory wyliczyl
ze jedna moja klasa ma za duzo metod. I rzeczywiscie, ma ich 400. Ale
ta klasa to jest "API holder" (do serwera napisanego w innym jezyku) i
musi miec te wszystkie metody. Guru zaproponowal zebym rozbil klase na
mniejsze. "A jak podzielic metody miedzy te klasy?" zapytalem.
"Alfabetycznie, na przyklad" odpowiedzial guru.

Odczepili sie dopiero jak zapodalem ze per...lne to wszystko i pojde
do kunkurencji

Takie rzeczy sa chwytliwe dla:

1. Cynicznych facetow ktorzy pragna zostac "guru"
2. Managerow ktorzy nie maja pojecia i szukaja cudownyh srodkow
3. Akademikow ktorzy tez nie maja pojecia, a szukaja "nosnych" a
latwych tematow do "badan naukowych"

A.L.

gregorius

unread,
Aug 28, 2009, 2:41:17 PM8/28/09
to
A.L. pisze:
[...]

> Tak na marginesie, przypominaja mi sie czasy gdy teorie informacji
> probowano uzywac do oceny dziel literackich. To w tamtych czasach
> "badania naukowe" pokazalu ze najlepsy utwor literacki to taki gdzie
> zdanie ma nie wiecej niz iles tam slow, paragraf nie wiecej niz iles
> tam zdan, a rozdziel nie wiecej iles tam paragrafow. Stanislaw Lem
> bezlitosnie wyszydzal te idiotyzmy
>
> "Metryki" programow maja wiecej ma taki sam sens.
>

Nie bardzo za�apa�em powy�sze zdanie :-).
Mo�e ta teoria informacji w ocenie dzie� literackich ma sens dla
zmniejszania koszt�w druku ;-). Mo�e podobny sens maj� te� metryki
program�w - ma�o wci��, metoda na kartk� papieru itp :-).

> Niedawno mialem dyskusje z jednym zwolennikeim metryk ktory wyliczyl
> ze jedna moja klasa ma za duzo metod. I rzeczywiscie, ma ich 400. Ale
> ta klasa to jest "API holder" (do serwera napisanego w innym jezyku) i
> musi miec te wszystkie metody. Guru zaproponowal zebym rozbil klase na
> mniejsze. "A jak podzielic metody miedzy te klasy?" zapytalem.
> "Alfabetycznie, na przyklad" odpowiedzial guru.
>
> Odczepili sie dopiero jak zapodalem ze per...lne to wszystko i pojde
> do kunkurencji
>

[...]

A tak na powa�nie, to chcia�em doda�, �e mnie lepiej si� konserwuje i
rozwija programy o dobrych metrykach (mo�e po prostu dlatego, �e s�
prostsze) i �e powy�szy przyk�ad doskonale pokazuje i� poprawa metryk na
si�� nie ma sensu.

Pozdrawiam


--
gregorius

A.L.

unread,
Aug 28, 2009, 3:47:31 PM8/28/09
to
On Fri, 28 Aug 2009 20:41:17 +0200, gregorius
<grzegorz.gruza@spamerom_nie.gmail.com> wrote:

>A.L. pisze:
>[...]
>> Tak na marginesie, przypominaja mi sie czasy gdy teorie informacji
>> probowano uzywac do oceny dziel literackich. To w tamtych czasach
>> "badania naukowe" pokazalu ze najlepsy utwor literacki to taki gdzie
>> zdanie ma nie wiecej niz iles tam slow, paragraf nie wiecej niz iles
>> tam zdan, a rozdziel nie wiecej iles tam paragrafow. Stanislaw Lem
>> bezlitosnie wyszydzal te idiotyzmy
>>
>> "Metryki" programow maja wiecej ma taki sam sens.
>>
>
>Nie bardzo za�apa�em powy�sze zdanie :-).
>Mo�e ta teoria informacji w ocenie dzie� literackich ma sens dla
>zmniejszania koszt�w druku ;-). Mo�e podobny sens maj� te� metryki
>program�w - ma�o wci��, metoda na kartk� papieru itp :-).
>

Sens jest taki ze ocena ilosciowa "wygladu" programu bez oceny
funkcjonalnosci nie ma sensu. Okreslone rzeczy sie robi w okreslonym
celu, aby program robil okreslone rzeczy dobrze i szybko, a nie po to
zeby metryki dobrze wygladaly.

Podobnie jak nie mozna ocenic dziela literackiego na podstawie analizy
czestosci wystepowanai wyrazow. Tzreba dzielo pzreczytac i zrozumiec.
Jak sie pzreczyta, zrozumie i oceni, to nikt sie nei bedzie pytal o
czestotliwosc slow.


>> Niedawno mialem dyskusje z jednym zwolennikeim metryk ktory wyliczyl
>> ze jedna moja klasa ma za duzo metod. I rzeczywiscie, ma ich 400. Ale
>> ta klasa to jest "API holder" (do serwera napisanego w innym jezyku) i
>> musi miec te wszystkie metody. Guru zaproponowal zebym rozbil klase na
>> mniejsze. "A jak podzielic metody miedzy te klasy?" zapytalem.
>> "Alfabetycznie, na przyklad" odpowiedzial guru.
>>
>> Odczepili sie dopiero jak zapodalem ze per...lne to wszystko i pojde
>> do kunkurencji
>>
>[...]
>
>A tak na powa�nie, to chcia�em doda�, �e mnie lepiej si� konserwuje i
>rozwija programy o dobrych metrykach (mo�e po prostu dlatego, �e s�
>prostsze) i �e powy�szy przyk�ad doskonale pokazuje i� poprawa metryk na
>si�� nie ma sensu.


Nie ma.

A.L.

Bogusław Faja

unread,
Aug 29, 2009, 9:55:45 AM8/29/09
to
Dnia Fri, 28 Aug 2009 08:53:04 -0500, A.L. napisaďż˝(a):

> On Fri, 28 Aug 2009 07:13:11 +0200, Bogus�aw Faja
> <zymen_out_@_out_zymen.net> wrote:
>
>>
>>Celem metryk mo�e by� np:
>>- niezale�ne por�wnanie ze sob� np. dw�ch projekt�w,
>>- okre�lenie jakie potencjalne problemy podczas rozwoju projektu mog�
>>nast�pi�,
>>- badanie (podczas dzia�ania Continuous Integration), czy wprowadzone
>>zmiany nie psujďż˝ struktury projektu,
>>- badanie zale�no�ci pomi�dzy jednostkami,
>>- etc.
>>
>>My�l�, �e s� one w znacznym stopniu podobne do wska�nik�w gie�dowych,
>>marker�w krwi, itp. itd - zale�� od interpretacji.
>>
>
> Tak na marginesie, przypominaja mi sie czasy gdy teorie informacji
> probowano uzywac do oceny dziel literackich. To w tamtych czasach
> "badania naukowe" pokazalu ze najlepsy utwor literacki to taki gdzie
> zdanie ma nie wiecej niz iles tam slow, paragraf nie wiecej niz iles
> tam zdan, a rozdziel nie wiecej iles tam paragrafow. Stanislaw Lem
> bezlitosnie wyszydzal te idiotyzmy

Tak, bo to by�a pr�ba zamkni�cia sztuki (literatura) w jakie� ramy. To tak
samo jak z nowďż˝ maturďż˝ z PL: nie trafisz w klucz, jesteďż˝ kiepski. Problem w
tym, �e w dziedzinie nauk "mi�kkich" im mniej przewidywalny/szablonowy
jeste�, tym bardziej Ci� ceni�. Nie jest dziwne, �e nikt nie ma uwag do
klucza z matematyki/fizyki?

> "Metryki" programow maja wiecej ma taki sam sens.

Pozwolďż˝ sobie nie zgodziďż˝ siďż˝ z tym.

> Niedawno mialem dyskusje z jednym zwolennikeim metryk ktory wyliczyl
> ze jedna moja klasa ma za duzo metod. I rzeczywiscie, ma ich 400. Ale
> ta klasa to jest "API holder" (do serwera napisanego w innym jezyku) i
> musi miec te wszystkie metody. Guru zaproponowal zebym rozbil klase na
> mniejsze. "A jak podzielic metody miedzy te klasy?" zapytalem.
> "Alfabetycznie, na przyklad" odpowiedzial guru.

Chcesz na podstawie jednostkowego przypadku oceniďż˝ sens pewnej metodologii?

API jest bardzo specyficznym kawa�kiem ka�dego systemu.

Metryki s� dobre, ale nie s� idealne. M�wi si�, �e gdy RSI=30 to czas kiedy
nale�y na gie�dzie kupowa�, a gdy RSI=70 to nale�y sprzedawa�.

Np. dla WIG20
2007-08-16, RSI=29,01 warto��=3329.
2009-04-09, RSI=70,94, wartosc=1784.

Chyba nie musz� pisa� jak ogromny zysk mog�y przynie�� dwie operacje
wykonane przy pe�nym zaufaniu do wska�nika :)

Obliczanie metryk:

- ilo�ci linii w metodzie,
- ilo�ci metod w klasie,
- ilo�ci komentarzy,
- cyclomatic complexity (z�o�ono�ci cyklomatycznej?),
- itp. itd.

dla automatu jest proste, a mo�e da� relatywnie sporo informacji o kodzie.

> Odczepili sie dopiero jak zapodalem ze per...lne to wszystko i pojde
> do kunkurencji

Opr�cz wiedzy czasem trzeba mie� jaja :-)

> Takie rzeczy sa chwytliwe dla:
>
> 1. Cynicznych facetow ktorzy pragna zostac "guru"
> 2. Managerow ktorzy nie maja pojecia i szukaja cudownyh srodkow
> 3. Akademikow ktorzy tez nie maja pojecia, a szukaja "nosnych" a
> latwych tematow do "badan naukowych"

Czy mog� przyj��, �e uwa�asz i� markery krwi, wska�niki gie�dowe s� r�wnie�
tego typu "pierdo�ami"?

A.L.

unread,
Aug 29, 2009, 11:39:13 AM8/29/09
to
On Sat, 29 Aug 2009 15:55:45 +0200, Bogus�aw Faja
<zymen_out_@_out_zymen.net> wrote:

>
>Obliczanie metryk:
>
>- ilo�ci linii w metodzie,
>- ilo�ci metod w klasie,
>- ilo�ci komentarzy,
>- cyclomatic complexity (z�o�ono�ci cyklomatycznej?),
>- itp. itd.
>
>dla automatu jest proste, a mo�e da� relatywnie sporo informacji o kodzie.

Tak, dostarcza sporo "informacji"

- o ilo�ci linii w metodzie,
- o ilo�ci metod w klasie,
- o ilo�ci komentarzy,
- o cyclomatic complexity (z�o�ono�ci cyklomatycznej?),

Tyle tylko ze to nie jest "informacja". To sa liczby ktore nic nie
mowia o tym czy program robi to co powinien, czy program robi to tak
jak pownien, czy robi to szybko i czy jest niezawodny.

Program to cos w rodzaelu dziela literackiego, a na pewno produkt
tworczej dzialalnosci intelektualnej. Ocenianie programu po owych
liczbach to tak jak ocenianie dziela literackiego po analizie
dystrybucji wyrazow.



>Czy mog� przyj��, �e uwa�asz i� markery krwi, wska�niki gie�dowe s� r�wnie�
>tego typu "pierdo�ami"?
>

Nie. Bo owe markety niosa INFORMACJE, a metryki nie niosa zadnej.

A.L.

P.S. Proponuje na tym zakonczyc dyskusje bo sie nie prozumiemy i
bedziemy bic piane. Pozostane przy swej opinii ze ocenianie programu
przy pomocy owych "wskaznikow" to przejaw zwyrodnialej aberracjii,
podobnie jak inne "nowoczesne" paradygmaty w rodzaju "agile", "xm"
czy "code first think later"

Zycze Koledze powodzenia i radosci z obliczania cyclomatic complexity

Bogusław Faja

unread,
Aug 29, 2009, 11:59:20 AM8/29/09
to
Dnia Sat, 29 Aug 2009 10:39:13 -0500, A.L. napisaďż˝(a):

> On Sat, 29 Aug 2009 15:55:45 +0200, Bogus�aw Faja
> <zymen_out_@_out_zymen.net> wrote:
>
>>
>>Obliczanie metryk:
>>
>>- ilo�ci linii w metodzie,
>>- ilo�ci metod w klasie,
>>- ilo�ci komentarzy,
>>- cyclomatic complexity (z�o�ono�ci cyklomatycznej?),
>>- itp. itd.
>>
>>dla automatu jest proste, a mo�e da� relatywnie sporo informacji o kodzie.
>
> Tak, dostarcza sporo "informacji"
>
> - o ilo�ci linii w metodzie,

- je�li np. warto�� > 40 to metoda jest zbyt d�uga, jej utrzymanie mo�e by�
problematyczne, wprowadzanie zmian co najmniej nieprzyjemne, a szukanie
b��d�w utrudnione, mo�e wskazywa� na niepe�ne u�ycie technik
obiektowych/wzorc�w,

> - o ilo�ci metod w klasie,

- je�li zbyt ma�o, to klasa ma niewielki zakres odpowiedzialno�ci (by� mo�e
zbyt ma�y?), je�li zbyt du�o, to jest to sugestia do podzia�u klasy na
mniejsze (prawdopodobnie du�y stopie� zale�no�ci z innymi klasami),

> - o ilo�ci komentarzy,
> - o cyclomatic complexity (z�o�ono�ci cyklomatycznej?),

Mo�na wymienia� podobnie jak powy�ej.


XYZ:


> Tyle tylko ze to nie jest "informacja". To sa liczby ktore nic nie
> mowia o tym czy program robi to co powinien, czy program robi to tak
> jak pownien, czy robi to szybko i czy jest niezawodny.


> Program to cos w rodzaelu dziela literackiego, a na pewno produkt
> tworczej dzialalnosci intelektualnej. Ocenianie programu po owych
> liczbach to tak jak ocenianie dziela literackiego po analizie
> dystrybucji wyrazow.

Uwa�am, �e programista jest bardziej wyrobnikiem, in�ynierem ni� artyst�.
To, �e nie wynaleziono jeszcze sposobu na pisanie bezb��dnego
oprogramowania, w taki spos�b, aby zmie�ci� si� w terminach to zupe�nie
inna kwestia.

---
Je�li na to pytanie kto� odpowie, �e wynaleziono, to poprosz� o linki. Z
g�ry dzi�ki.

>>Czy mog� przyj��, �e uwa�asz i� markery krwi, wska�niki gie�dowe s� r�wnie�
>>tego typu "pierdo�ami"?
>>
>
> Nie. Bo owe markety niosa INFORMACJE, a metryki nie niosa zadnej.

My�l�, �e mog� tutaj odnie�� si� jednocze�nie do Twojego stwierdzenia,
kt�re pozwoli�em sobie oznaczy� poprzez 'XYZ'. Same warto�ci wska�nik�w nie
nios� informacji, ich prawid�owa interpretacja natomiast ju� tak.

> P.S. Proponuje na tym zakonczyc dyskusje bo sie nie prozumiemy i
> bedziemy bic piane. Pozostane przy swej opinii ze ocenianie programu
> przy pomocy owych "wskaznikow" to przejaw zwyrodnialej aberracjii,
> podobnie jak inne "nowoczesne" paradygmaty w rodzaju "agile", "xm"
> czy "code first think later"

Zgadzam siďż˝. Negocjacje w zakresie przekonaďż˝ sďż˝ nierozstrzygalne i nie
nale�y ich prowadzi�.

> Zycze Koledze powodzenia i radosci z obliczania cyclomatic complexity

Nie potraktuj� tego jako ironii i r�wnie� �ycz� wszystkiego dobrego.

Mi�ego dnia �ycz�,

A.L.

unread,
Aug 29, 2009, 12:06:59 PM8/29/09
to
On Sat, 29 Aug 2009 17:59:20 +0200, Bogus�aw Faja
<zymen_out_@_out_zymen.net> wrote:

>
>- je�li np. warto�� > 40 to metoda jest zbyt d�uga, jej utrzymanie mo�e by�
>problematyczne, wprowadzanie zmian co najmniej nieprzyjemne, a szukanie
>b��d�w utrudnione, mo�e wskazywa� na niepe�ne u�ycie technik
>obiektowych/wzorc�w,
>

Acha... "Wzorce" to nastepne "magiczne slowo"

>> - o ilo�ci metod w klasie,

>

>Uwa�am, �e programista jest bardziej wyrobnikiem, in�ynierem ni� artyst�.

Wiele osob uwaza odwrotnie. Proponuje ksiazke Paula Grahama "Hackers
and Painters" .

>To, �e nie wynaleziono jeszcze sposobu na pisanie bezb��dnego
>oprogramowania, w taki spos�b, aby zmie�ci� si� w terminach to zupe�nie
>inna kwestia.
>

Oliczanie "cyclomatic complexity" rzeczywiscie spowoduje ze zmiescimy
sie w terminach. Bez tego - nie ma mowy.

A.L.

Krzysiek Kowaliczek

unread,
Aug 31, 2009, 10:33:39 AM8/31/09
to
U�ytkownik A.L. napisa�:

> "Metryki" programow maja wiecej ma taki sam sens.
>
> Niedawno mialem dyskusje z jednym zwolennikeim metryk ktory wyliczyl
> ze jedna moja klasa ma za duzo metod. I rzeczywiscie, ma ich 400. Ale
> ta klasa to jest "API holder" (do serwera napisanego w innym jezyku) i
> musi miec te wszystkie metody. Guru zaproponowal zebym rozbil klase na
> mniejsze. "A jak podzielic metody miedzy te klasy?" zapytalem.
> "Alfabetycznie, na przyklad" odpowiedzial guru.

E tam, bierze pan metrykďż˝ i wrzuca metody alfabetycznie do
klas, kt�re maj� zbyt ma�y zakres odpowiedzialno�ci ;).
To by siďż˝ guru ucieszyďż˝.

Pozdrawiam
KK

Wit Jakuczun

unread,
Aug 31, 2009, 1:56:13 PM8/31/09
to
On 31 Sie, 16:33, Krzysiek Kowaliczek
<krzysiek.kowaliczek.remov...@gmail.com> wrote:
> Użytkownik A.L. napisał:

>
> > "Metryki" programow maja wiecej ma taki sam sens.
>
> > Niedawno mialem dyskusje z jednym zwolennikeim metryk ktory wyliczyl
> > ze jedna moja klasa ma za duzo metod. I rzeczywiscie, ma ich 400. Ale
> > ta klasa to jest "API holder" (do serwera napisanego w innym jezyku) i
> > musi miec te wszystkie metody. Guru zaproponowal zebym rozbil klase na
> > mniejsze. "A jak podzielic metody miedzy te klasy?" zapytalem.
> > "Alfabetycznie, na przyklad" odpowiedzial guru.
>
> E tam, bierze pan metrykę i wrzuca metody alfabetycznie do
> klas, które mają zbyt mały zakres odpowiedzialności ;).

i nazywa _1_metoda, _2_metoda itp

Pozdrawiam,
Wit

Filip Sielimowicz

unread,
Sep 21, 2009, 9:09:20 AM9/21/09
to

U�ytkownik "A.L." <alew...@aol.com> napisa� w wiadomo�ci
news:94lf9516svpl293rm...@4ax.com...

> Niedawno mialem dyskusje z jednym zwolennikeim metryk ktory wyliczyl
> ze jedna moja klasa ma za duzo metod. I rzeczywiscie, ma ich 400. Ale
> ta klasa to jest "API holder" (do serwera napisanego w innym jezyku) i
> musi miec te wszystkie metody. Guru zaproponowal zebym rozbil klase na
> mniejsze. "A jak podzielic metody miedzy te klasy?" zapytalem.
> "Alfabetycznie, na przyklad" odpowiedzial guru.

He, he, he ...
Trzeba by�o powiedzie�, �e te� wydawa�o Ci si� to oczywiste, ale policzy�e�
dok�adnie i wysz�o, �e jest ich 401 (liczba pierwsza), a nie wyobra�asz
sobie,�e
by dzieliďż˝ niesprawiedliwie ;)

klops

unread,
Sep 23, 2010, 4:13:52 AM9/23/10
to

> Niedawno mialem dyskusje z jednym zwolennikeim metryk ktory wyliczyl
> ze jedna moja klasa ma za duzo metod. I rzeczywiscie, ma ich 400. Ale
> ta klasa to jest "API holder" (do serwera napisanego w innym jezyku) i
> musi miec te wszystkie metody. Guru zaproponowal zebym rozbil klase na
> mniejsze. "A jak podzielic metody miedzy te klasy?" zapytalem.
> "Alfabetycznie, na przyklad" odpowiedzial guru.

To żeczywiście, bezsensowna propozycja "guru". Ale jako kontr przykład
mogłeś podać im bibliotekę Qt gdzie są klasy co mają ponad 200 funkcji...

0 new messages