🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.objects
Article #17170

Re: Do Panow: Przybylka, Maleckiego, Wojewodzkiego

#17170
From: Seweryn Habdank-Wojewódzki
Date: Thu, 24 May 2007 14:06
102 lines
5304 bytes
Witam

A.L. wrote:

>>Jeszcze raz podkreślam, dobrzy programiści tego nie potrzebują. A nawet
>>więcej czasem taka czy inna metryka pokaże złą notę, a kod będzie dobry,
>>bo będzie jakiś szczególny.
>>
> 
> Nie ma metryk pokazujacych JAKOSC kodu.

Nie ma metryk będących równoważnikamni jakości kodu, ale są metryki
wskazujące na totalne badziewia.

Do tego jak programiści są złośliwi, to i tak metryka pokaze wynik dobry, a
kod będzie zły.

Ale jeśli metryka pokazuje fatalne wyniki, to warto zobaczyć, czy tak
wyszło, czy to jest zamierzone. To się nazywa implikacja, czyli wynikanie w
jedną stronę.

W pełni się zgadzam że ocena jakości kodu jest bardzo trudna.

> To co pokazuja, nic wspolnego 
> z JAKOSCIA nie ma. No, chyba ze pan ma wlasna defincje jakosci.

No więc właśnie co to jest jakość kodu?

Czy klasa mająca 500 metod jest dobrze napisana? Czy klasa mająca 300 pól
jest dobrze napisana? A może implikacje idą dalej, napisana jest dobrze ale
projekt jest fatalny? 
  
>>Zgadza się. Pozostaje tylko ufać programistom, że będą dobrze pisać kod.
>>Ja generalnie ufam chyba, że się sparzę na czyimś kodzie.
>>
> 
> Nie ufa sie, dlatego tez sa na przyklad "peer reviews"

Ufać w sensie, że nie zakazdym razem walcuje się kod każdej osoby toolami.
 
> Niech Pan ignoruje rozne takei "doneisienia". Ja mam taka mala
> ksiazeczke: "Never Confuse a Memo with Reality". Bardzo madra. Odnosi
> sie tez do "rewelacji" ze stron webowych roznych "gurus".

No i?
 
>>Jeszcze raz podkreślam. Są sytuacje kiedy albo trzeba jakimś wspólnym
>>językiem opisać jakość kodu, albo kiedy programistom w firmie nie zależy
>>na jakości kodu.
> 
> No to prosze o propozycje takiego "wspolnego jezyka opisujacego jakosc
> kodu". Oraz definicje owej "jakosci"

Nie ma takiego ogólnego pojęcia jakości! Metryki implikują pewne sprawy
tylko w jedną stronę i to tylko w postaci postawienia hipotezy wadliwości,
czyli pada sugestia, aby przyjrzeć się czemuś dokładnie.
 
>>Nieraz w firmach jest tak, że kiedy zbliża się release i
>>pojawiają sie jakieś bugi, to łata się je byle jak byle program działał, a
>>poprawki "faktyczne" z refaktoringiem włącznie zostawia się na później -
>>kiedy "będzie spokojniej". Co oczywiście nie jest żadnym standardem w
>>programowaniu ale tak się zdarza z rzeczonym przemyśle softwareowym.
> 
> Pan tak programuje?... No to ja nic nie poradze. Ale ejzeli firma dla
> ktorej Pan pracuje tak wlasnie programuje, to proponuje zmienic firme.

Nie podaję nazw firm, które tak robią, bo są duże firmy z USA, mające
placówki w PL - nie ma potrzeby pokazywać kto jest zły, lepiej pokazać kto
jest dobry.

A tak na marginesie ja tak, ani tam (w tych firmach), nie pracuję - dla mnie
release nie przychodzi co miesiąc, czy co rok nie mam takich sztucznych
inklinacji.
 
> P.S> Przykald kretynizmu: jakis tam tool powiedzial ze "implementacja
> metody jest za dluga". Wiec zdecydowano sie rozbic wszystkie metody
> ktore mialy wiecej niz X linii na podmetody tak aby kazda nei miala
> wiecej niz 50 linii.

Zgadza się. Tak to jest przykład kretynizmu. I właśnie dlatego mówię o
implikacji w jedną stronę i o przyglądaniu się programowi, a nie sztucznemu
przywiązywaniu wagi do cyferek.

> Poniewaz "podmetody" musialy miec dostep do 
> lokalnej informacji w "metodzie glownej", kazda "podmetoda" miala po
> 20 parametrow mniej wiecej. I nei mogla byc uzyta inaczej jak przez
> wolanie z "metody glownej".

A nie można było pogrupować parametrów w klasy?

> Konsultatnt wizal $$$$$ (pieciocyfrowa suma) za "poprawienie jakosci kodu"

No to jest przykład prawdziwego kretynizmu - zgadza się.

Pozdrawiam.

Ps. Większość kodu matematycznego daje straszne baty wszelakim metrykom, ale
właśnie dlatego trochę wiadomo, gdzie taki kod się znajduje.

-- 
|\/\/|   Seweryn Habdank-Wojewódzki
 \/\/
Technical Details
Message-ID: <f345sm$1lp$1@news.vectranet.pl>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!newsfeed.gazeta.pl!news.vectranet.pl!not-for-mail
References: <f2rn5h$4m9$2@inews.gazeta.pl> <f2s8nr$8jv$1@news.vectranet.pl> <s8b35312q5j9v55cl9oaurqlnecuc2c9uk@4ax.com> <f2sb6t$b1d$1@news.vectranet.pl> <jid353h6fufcbvtjia8bmbi097ktn31fcj@4ax.com> <f2t2hr$200$1@news.vectranet.pl> <u7r553dr6pjoocfcvuj4bit2un38fpp5q9@4ax.com> <f2vtnj$ql3$1@inews.gazeta.pl> <f328k8$m40$1@news.dialog.net.pl> <f32h07$fsg$1@inews.gazeta.pl> <f32kv2$u07$1@news.dialog.net.pl> <f32p9l$69s$1@inews.gazeta.pl> <f33uc4$q01$1@news.vectranet.pl> <2a1b53tb1inojn7e8tlrc9lmqgas8tti8r@4ax.com>

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!newsfeed.gazeta.pl!news.vectranet.pl!not-for-mail
From: Seweryn Habdank-Wojewódzki <shw_mail@wp.pl>
Newsgroups: pl.comp.objects
Subject: Re: Do Panow: Przybylka, Maleckiego, Wojewodzkiego
Date: Thu, 24 May 2007 16:06:22 +0200
Organization: VectraNET - http://www.vectranet.pl
Lines: 103
Message-ID: <f345sm$1lp$1@news.vectranet.pl>
References: <f2rn5h$4m9$2@inews.gazeta.pl> <f2s8nr$8jv$1@news.vectranet.pl> <s8b35312q5j9v55cl9oaurqlnecuc2c9uk@4ax.com> <f2sb6t$b1d$1@news.vectranet.pl> <jid353h6fufcbvtjia8bmbi097ktn31fcj@4ax.com> <f2t2hr$200$1@news.vectranet.pl> <u7r553dr6pjoocfcvuj4bit2un38fpp5q9@4ax.com> <f2vtnj$ql3$1@inews.gazeta.pl> <f328k8$m40$1@news.dialog.net.pl> <f32h07$fsg$1@inews.gazeta.pl> <f32kv2$u07$1@news.dialog.net.pl> <f32p9l$69s$1@inews.gazeta.pl> <f33uc4$q01$1@news.vectranet.pl> <2a1b53tb1inojn7e8tlrc9lmqgas8tti8r@4ax.com>
Reply-To: shw_mail@wp.pl
NNTP-Posting-Host: 82.139.21.12
Mime-Version: 1.0
X-Trace: news.vectranet.pl 1180015318 1721 82.139.21.12 (24 May 2007 14:01:58 GMT)
X-Complaints-To: usenet@news.vectranet.pl
NNTP-Posting-Date: Thu, 24 May 2007 14:01:58 +0000 (UTC)
User-Agent: KNode/0.10.4
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit