🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.objects
Article #17160

Re: Do Panow: Przybylka, Maleckiego, Wojewodzkiego

#17160
From: jarekr
Date: Thu, 24 May 2007 15:20
181 lines
10761 bytes
A.L. wrote:

>> Poza tym wiele rzeczy jest normalnych acz rzadko stosowanych albowiem
>> normalny projekt ma budżet i nie każdy sponsor jest zainteresowany 
>> jakością produktu finalnego. (Ten 1% projektów robionych za dużą kasę 
>> dla rozsądnych firm mnie nie obchodzi. Zgodnie z zasadą największego 
>> prawdopodobieństwa i tak pewnie nastepne 10 lat spędze robiąc cuda dla 
>> firm, które właśnie się zdziwiły, że za wdrożenie ERP  muszą zapłacić 
>> więcej niż za komplet wycieraczek do starego opla ).
>>
> 
> Pan pisze jakeis nonsensy, te o "sponsorowaniu". Pan chyna z jakiejs
> ksiezycowej ekonomii. Firma na swoje procesy ktore nie zaleza od
> klienta. Projekt kosztuje tyle ile kosztuje, i nie robi sie roznicy
> miedzy klientami dla ktorych "robi sie peer review" i "dla ktorych sie
> nei robi". Dla wszystkich sie robi, tak jak dla wszystkich robi sie
> cotygodniowe spotkaznia zespolu.


Otóż nie - jeśli firma jest jedną z firm podwykonawców zaangażowaną w 
większy projekt (geograficznie większy). To tak nie jest - mam takiego 
"pecha" pracować w firmie gdzie nie ma kontaktu z końcowym odbiorcą. A 
zamawiającym jest inna firma softwarowa, która akurat narzuca swój 
"proces" i można co najwyżej próbować go lokalnie zoptymalizować.

Więc się różnicuje ( bo współpracujemy z różnymi takimi firmami i czasem 
mamy ten wpływ większy).

Akurat na moim księzycu głównym wyznacznikiem ekonomii nie jest jakość 
kodu / poziom wiedzy programistów ani inne bzdury tylko euro.
W szczególności przez ostatnie 5 lat ok jeden miesiąc (w sumie ) miałem 
przyjemność pracować   dla klientów (w sensie płacących)dla których 
jakość produktu końcowego była naprawde istotna. Ciężka dola użytkownika 
końcowego mało obchodzi np. dział IT, który  chce po prostu wydać 
pieniądze, aby w następnym roku nie było pretekstu do obcięcia budżetu. 
Fakt smutny i frustrujący.


> Coraz wieksze mam wrazenei ze jest pan studentem 3 semestru Prywatnej
> szkoly Zarazadznia i Informatyki w kaczym Dole.

stały element pana odpowiedzi, co to ma do tematu?

(przy okazji bardzo chętnie byłbym na uczelni - może nie jako student - 
ale niestety w kaczym dole słabo na uczelniach płacą)
>> Metryki, analizy , ciągłą integracja i tego typu bajery dają się 
>> uruchomić względnie niskim kosztem i dają zysk (to akurat kwestia wiary 
>> - bo badań nie przeprowadzałem
>> - ewidentnie ciagła integracja doprowadziła do mniejszej liczby przestojów,
>> - ewidentnie analiza statyczna wyłapała kilkanaście cudów w "dużym" (pod 
>> względem ilości kodu) przejmowanym projekcie, których to cudów usunięcie 
>> być moze uratowało nam już tyłki)
> 
> Prosze Pana, pan cytuje cytaty z ksizek roznych "gurus".

:-) Akurat jest odwrotnie mam  duże braki w tego typu  literaturze. (no 
niestety jak mam już czytać SF to wygrywa zwykle Lem).

>> - ewidentnie metryki wykryły kilka ton kodu, który należy omijać (groźba 
>> wylewu) ,
> 
> Bo co? Co za "wylew"? Kod nalezy "omijac"? Niepotrzebny kod?...

Kod niestety działający  - ale w którym perspektywa dodawania zmian/ 
bugfixowania jest bolesna. To istotna wskazówka dla manadżera - jesli 
przychodzi nowy request od klienta to czy da się go zrealizować przy 
użyciu istniejącej implementacji czy też należy się liczyć z ryzykiem 
przepisywana duzych fragmentów nieczytelnego kodu.
Łatwo zrozumieć na przykładzie - akurat mam na tapecie projekt gdzie 
jest ponad 3 tys klas java i mały zespół musi go stale utrzymywać w 
ruchu i rozbudowywać.
Większość członków zespołu nie ma pojęcia co się dzieje w tych kilku 
tysiacach klas poza fragmentem własnej działki. I absolutnie nie chce 
wiedzieć (dla zdrowia psychicznego). A są fragmenty pisane przez różnych 
ludzi i czasami zdarza sie trafić na ten akurat nadziejny , który był 
pisany przez programistę po studiach, a nie przekwalifikowaną praczkę 
(bardzo ładnie widać w metrykach).

>> - ewidentnie troche czasu ja i inni ludzie stracili na poprawianie 
>> metryk *w tym celu* :-) - i nie wiem czy to się zwróci/ło - (na kosztach 
>> psychiatrów najprędzej) )
>>
> 
> W jakim celu?...
W celu poprawiania metryk - to była autoironia - też uważam to za sztukę 
dla sztuki (czasami, często, bywa że - niepotrzebne skreślić)
> 
>> Recenzje czyjegoś kodu zdarzają się oczywiście ale nie wyobrażam sobie 
>> sensu tego jako część procesu w projekcie (jako część procesu rekrutacji
>> owszem). Tyle, że człowiek który przeszedł rekrutację dawno też może 
>> odjechać... Samemu można odjechać. Sweter się może rozciągnąć (rękawy).
>>
> 
> To szkoda ze Pan sobie nei wyobraza, bo neich Pan sobie wyobrazi, ze
> ja widze peer reviews w kolko na okraglo. Nie tylko jako feedback dla
> developerow na temat jakosci kodu, ale rowneiz jako proces uczenia dla
> czlonkow zespolu co kawalki pisane przez innych robia, jak i dlaczego.
> Nijakie metryki tego nei zastapia.

Nie zastąpią całkowicie  - ale może te 5%-10% łatwe do zastąpienia też 
ma sens.

>> Ogólnie po co zatrudniać ludzi do pracy, którą mogą wykonać roboty.
>> Jeśli wierzysz, że istnieją obiektywne oceny dla kodu wystawiane przez 
>> ludzi to być może jest algorytm/heurystyka dla takiej oceny.
>> (mówimy o jakości kodu  - nie produktu )
> 
> Ocent jakosci kodu wystawiane przez automaty mozna sobie wsadzic
> gdzies, albowiem owe automaty sa w stanie sprawdzic rzeczy wybitnie
> trywialne. Jak pisalem wyzej, peer review ma wiele celow, a
> spraedzenei jakosci kodu idzie dalej niz nieprawidlowe istawienie
> nawiasow czy nie uzyta zmienna. Bo tego sie nawet w peer review nie
> sprawdza. Sprawdza sie na przyklad czy strategia uzycia "exceptions"
> zgadza sie z lokalnymi rekomendacjami czy nie, a tego zaden tool nie
> sprawdzi, albowiem musialby rozumiec program i problem ktorego program
> dotyczy. Sprawdza sie na przyklad czy interfejsy nie eksponuja rzeczy
> ktorych nikt nie powinien uzywac. Sprawdza sie czy logowanie jest
> kompletne i zgodne z lokalnymi standardami. Sprawdza sie czy "error
> messages" zgodne sa z lokalnymi standardami. Sprawdza sie czy nie ma
> kodu ktory powodowalby obnizenie sprawnosci. Sprawdza sie czy
> programista lokalnie zastosowal wlasciwe struktury danych. Sprawdza
> sie czy programowaniejest dostatecznie "defensive" (wie Pan co to
> znaczy?)


W ogólności - jak jest standard i jest dobrze zdefiniowany to dlaczego 
nie miałby istnieć automat sprawdzający. W końcu ja i pan też jesteśmuy 
automatami. Jest tylko kwestia kosztu implementacji takiego automatu
w kaczym dole akurat nie ma taniej siły roboczej więc osobiście np. 
kwestię sprawdzania standardu logowania i messages przynajmniej 
spróbowałbym zautomatyzować (inaczej ktoś będzie musiał tracić na 
sprawdzanie czas).


Defensywność akurat też można do pewnego stopnia sprawdzić - oczywiście 
trywialne rzeczy (o ile tylko mamy jakoś zdefiniowane warstwy, 
komponenty). Z pewnością nie mam czasu pisać czegoś takiego - ale może 
juz ktoś napisał... (niestety brak defensive coding to problem, który 
akurat jest  jednym z moich najmniejszych obecnie - skoro stale walczymy 
z bandą obcojęzycznych, którzy za interfejs uważają podanie nazwy 
tabelki w której się trzyma dane).


> Prosze mi pokazac metryki i toole ktore to zrobia oraz korzysci
> wynikajace z NIE przeprowadzania takich analiz.

I tu jest pies pogrzebany - bo gdybym miał możliwość zmiany księżyca na 
jakim żyje to najchętniej mieszkałbym na takim na którym koduje się przy 
ustalonych standardach, z dobrze zdefiniowanych procesem, klientowi 
zależy żeby produkt zamówiony naprawde działał a kształcenie zespołu i 
analiza kodu jest czymś normalnym. A 100 m obok nie ma siedziby firma, 
która zatrudnia rotacyjnie praktykantów/studentów i trzaska systemy b2b 
po 2tys euro za wdrozenie.
Tym niemniej chciałbym tez, żeby prace którą mogą wykonywać automaty 
była wykonywana przez automaty - a nie przez profesorów, doktorów i 
innych guru - chocby nie wiem jak byli dobrzy - jeśli będą musieli 
sprawdzać takie trywialne rzeczy jak standard logowania i error messages 
to szybko im sie odechce.



>> Nie ma pewnie dziś takiego narzędzia - ale są dobre narzędzia 
>> wspomagające. Tak jakbyś oceniał wypracowanie z polskiego - fakt, że 
>> sprawdzić sens automatem jest trudno, ale można chociaż na automat 
>> zrzucić ortografię i interpunkcję, dodajmy do tego wykrywanie powtórzeń,
>> bazę kilkdziesięciu popularnych błędów stylistycznych. Absolutnie 
>> nieprzydatny tool ? Jak oceniasz maturę być może bez sensu. A jak masz 
>> 120 wypracowań z klas pierwszych licealnych... (acha nie znam się na 
>> pracy polonisty - sam to wymyśliłem, co więcej typowo z wypracowań 
>> dostawałem pały).
> 
> Przykro mi, ale jak napisalem wyzej, podejrzewam ze znasz praktyke z
> ksizaek roznych gurus i/lub od Pana Profesora ktory zna praktyke z
> ksiazek roznych gurus.
> 
Btw. prosiłbym o darowanie sobie złośliwości. Zmierza Pan w kierunku, w 
którym kolejnym krokiem będzie porównywanie długości siusiaczków.


-- 
jarekr
Technical Details
Message-ID: <f34a39$18pg$1@news2.ipartners.pl>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.rmf.pl!nf1.ipartners.pl!ipartners.pl!news2.ipartners.pl!not-for-mail
References: <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> <99q953du4ee0qk94n8d1kqe402pm2b615k@4ax.com> <f33c1n$ak0$1@news.dialog.net.pl> <itua53t96nsa3p5av8uigt4jbiumel4q19@4ax.com>

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.rmf.pl!nf1.ipartners.pl!ipartners.pl!news2.ipartners.pl!not-for-mail
From: jarekr <jarekr@example.net>
Newsgroups: pl.comp.objects
Subject: Re: Do Panow: Przybylka, Maleckiego, Wojewodzkiego
Date: Thu, 24 May 2007 17:20:33 +0200
Organization: GTS Energis
Lines: 181
Message-ID: <f34a39$18pg$1@news2.ipartners.pl>
References: <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> <99q953du4ee0qk94n8d1kqe402pm2b615k@4ax.com> <f33c1n$ak0$1@news.dialog.net.pl> <itua53t96nsa3p5av8uigt4jbiumel4q19@4ax.com>
NNTP-Posting-Host: asterix.mareon.com.pl
Mime-Version: 1.0
X-Trace: news2.ipartners.pl 1180019625 41776 217.153.64.163 (24 May 2007 15:13:45 GMT)
X-Complaints-To: abuse@ipartners.pl
NNTP-Posting-Date: 24 May 2007 15:13:45 GMT
In-Reply-To: <itua53t96nsa3p5av8uigt4jbiumel4q19@4ax.com>
User-Agent: Thunderbird 1.5.0.10 (X11/20070305)
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit