Article View: pl.comp.objects
Article #17160Re: Do Panow: Przybylka, Maleckiego, Wojewodzkiego
From: jarekr
Date: Thu, 24 May 2007 15:20
Date: Thu, 24 May 2007 15:20
181 lines
10761 bytes
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-mailReferences:
<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