🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.objects
Article #14808

Re: Tolerancja dla duplikacji kodu

#14808
From: Sektor van Skijlen
Date: Tue, 27 Jun 2006 14:53
112 lines
6768 bytes
Dnia Sun, 25 Jun 2006 15:46:30 -0500, A.L. skrobie:
> On Sun, 25 Jun 2006 18:39:55 +0200, Przemek Pokrywka
> <adres@zastrzezony.com> wrote:
>  
> >
> >Uuuu Panie A.L. "na oko", to, jak się mówi "chłop w szpitalu umarł" - "z 
> >brudem za paznokciem" jak dodają niektórzy. Integracja toola do 
> >wykrywania duplikacji kodu w Mavenie to dopisanie linijki w project.xml 
> >i nie kosztuje to ani centa (maven i jego odpowiednie pluginy są za 
> >darmo). Potem całą pracę wykonuje build server (zazwyczaj po każdym 
> >check-in), co na ogół kosztuje ułamek procenta rachunku za energię 
> >elektryczną. Development i management mają za to na ładnej stronce 
> >webowej czytelne raporty o tym, co jest zduplikowane, w ilu kopiach i 
> >gdzie. To chyba pewniejsza i _mniej_ czasochłonna metoda, niż (skądinąd 
> >o wartości nie do podważenia) code reviews.
> >

> Wie Pan, my chyba inne programy piszemy, w inny sposob i w innym
> srodowisku...

Pan to najwyraźniej w ogóle piszesz "inne programy".

Automatyzację za pomocą narzędzi wykonuje się wszędzie. A jeśli mówisz pan o
robieniu czegokolwiek "na oko" i jednocześnie twiedzisz pan, że masz pan 100%
skuteczność, to pan się delikatnie mówiąc lekko rozmijasz z rzeczywistością.

Zgodzę się skądinąd, że większość narzędzi do weryfikacji kodu, wszelkie
makkejby i klocworki są w dużej mierze o kant dupy rozbić (a kosztują
wściekle). I owszem, nie ma takiego narzędzia, które zastąpiłoby trzeźwo
myślącego inżyniera, kierownika technicznego, który przejrzy kod i potrafi
trafnie zawyrokować, że to jest napisane dobrze, a to jest napisane źle i
trzeba przepisać. Gdyby istniało, dziś programy pisałoby się za pomocą kilku
kliknięć przez przysłowiową sekretarkę, a programistów wysłanoby na zieloną
trawkę, bo przecież niezależnie od tego ile by kosztowały te najwypasieńsze i
najdroższe narzędzia, programista i tak kosztuje o wiele więcej.

> >Właśnie - proszę zwrócić uwagę, że w tej sytuacji to _pracownicy_ (a nie 
> >narzędzia typu Maven) dobierają te formaty. Realizacja danej czynności 
> >przez program komputerowy obniża te koszty praktycznie do zera.
> >Inna sprawa to koszta nadzoru nad takimi programami, 

> Jaka "inna sprawa"?... Jak dla mnei to raczej fundamentalna.

Nie rozśmieszaj pan.

Uczestniczyłem w tworzeniu różnych narzędzi wspomagających pracę, więc z
autopsji wiem, ile kosztuje ich maintenance. Proszę sobie wyobrazić,
przykładowo, że przez okres jednego miesiąca programista tworzy narzędzie
przez 30% swojego czasu, a po jego wypuszczeniu poświęca 5% czasu miesięcznie
na jego maintenance.

A teraz proszę sobie policzyć następujące rzeczy:
1. Dzięki temu narzędziu, 100 programistów (na 500 w całej firmie) oszczędza
5% swojego czasu. To znaczy, może poświęcić 5% więcej czasu na aktywności
związane z bieżącą pracą. I to przez okres co najmniej 6 miesięcy od momentu
ukończenia tworzenia narzędzia.
2. Dzięki temu narzędziu skrócił się czas oczekiwania na ukończenie pewnych
aktywności, od których zależy praca pozostałych ludzi.
3. I wreszcie, narzędzie pozwoliło zmniejszyć ilość błędów powstających
podczas tych czynności z 30% do 2%.

Policz sobie pan teraz, ile co kosztuje. W pieniądzach.

> No, ael
> Ameryka nie ejst tak bogata jak Polska i liczy kazdy grosz...
> eche... cent, chcialem powiedziec.

Jasne. Nie kupujmy nowej pralki, bo ona przecież kosztuje straszne pieniądze,
a liczy się każdy grosz. Przecież można prać ręcznie.

Gdyby każdy myślał tak jak pan, Ameryka by nigdy nie powstała.

> >ale i tak jestem 
> >zdania, że w konkretnym zastosowaniu wykrywania duplikacji kodu opłaca 
> >się je ponieść (skoro nie tolerują Państwo duplikacji kodu, to wie Pan 
> >raczej dlaczego).

> No wlasnie,. Kolejny raz przodujaca technologicznie Polska dala w
> dupe zacofanej Ameryce.

Zacofany to pan jesteś, a nie (na szczęście) Ameryka. Jeśli masz pan
wątpliwości, to przypomnę parę drobnostek:

1. Ponad 50% największych i zajmujących największe obszary światowego rynku
oprogramowania firm softwarowych w Polsce to są firmy-córki utworzone przez
firmy ze Stanów Zjednoczonych.

2. Sposoby zarządzania tą firmą, metodyki procesów i inne pierdoły zostały
wymyślone i opracowane w Stanach i wyłącznie stamtąd zostały zaszczepione w
Polsce.

3. Używanie różnych narzędzi do wspomagania pracy (i to dowolnej branży) to
kwestia decyzji firmy macierzystej, a jej polski oddział dostosowuje się do
tego na zasadzie decyzji, która przyszła z góry. W przypadku przynajmniej
różnych kosztownych narzędzi (jak ClearCase, czy Klocwork) decyzje przychodzą
wyłącznie od góry i firma w Polsce nie ma w ogóle nic w tej kwestii do
powiedzenia.

Nie wykluczam, że jeśli chodzi o sprawy zarówno narzędzi, jak i metodyk
(zwłaszcza Agile), to można na upartego określić to tak, że amerykański
oddział testuje te sprawy na polskich oddziałach jak na myszach.

Można by oczywiście zadać pytanie, dlaczego testują to na Polsce, a nie na
znacznie tańszych Chinach. Odpowiedź prosta: w Polsce te testy najczęściej
przechodzą z sukcesem, w Chinach nie.


-- 
//  _    ___         Michal "Sektor" Malecki <sektor(whirl)kis.p.lodz.pl>
\\ L_ |/ `|  /^\ ,()                         <ethouris(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: <e7rgph$lu9$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-mail
References: <e7h9l6$1pq$1@news.onet.pl> <tjbr925t3e3r9kqg0g6pkl8tdj5c71n0ug@4ax.com> <e7lial$ocn$1@news.onet.pl> <uu7t921rtnjdp5k1g0ceffhjof0lah9rtu@4ax.com> <e7me9m$vv7$1@news.onet.pl> <d7tt92tcte4hesito2cesie4hc2n0mco9f@4ax.com>

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: Tolerancja dla duplikacji kodu
Date: Tue, 27 Jun 2006 14:53:37 +0000 (UTC)
Organization: LODMAN - Metropolitan Area Network in LODZ, Poland
Lines: 112
Sender: Michal Malecki <sektor@zly.kis.p.lodz.pl>
Message-ID: <e7rgph$lu9$1@kujawiak.man.lodz.pl>
References: <e7h9l6$1pq$1@news.onet.pl> <tjbr925t3e3r9kqg0g6pkl8tdj5c71n0ug@4ax.com> <e7lial$ocn$1@news.onet.pl> <uu7t921rtnjdp5k1g0ceffhjof0lah9rtu@4ax.com> <e7me9m$vv7$1@news.onet.pl> <d7tt92tcte4hesito2cesie4hc2n0mco9f@4ax.com>
NNTP-Posting-Host: zly.kis.p.lodz.pl
Mime-Version: 1.0
X-Trace: kujawiak.man.lodz.pl 1151420017 22473 212.191.89.2 (27 Jun 2006 14:53:37 GMT)
X-Complaints-To: abuse@man.lodz.pl
NNTP-Posting-Date: Tue, 27 Jun 2006 14:53:37 +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