Posted by: nexik | czerwiec 11, 2007

Projekt programu

Sesja już za kilka dni, a w niej m.in. egzamin z Analizy Systemów Informatycznych. Na Analizie SI pani prof. Z. cały czas próbuje nas namówić do robienia projektów przed kodowaniem jednak coś jej to nie wychodzi ^-^. Dla wszystkich zapalonych koderów oto cytat z książki “C++ Zaawansowane Programowanie” autorstwa Nicholas A. Solter, Scoot J. Kleper, który doskonale opisuje jak wygląda praca większości programistów PHP:

Aby zrozumieć, dlaczego tak ważny jest projekt programu, dobrze jest przeanalizować pewną analogię z życia codziennego. Wyobraźmy sobie, że mamy parcelę, ne której chcemy wybudować dom. Pojawiającego się budowlańca prosimy o pokazanie planów. “Jakie znowu plany? Ja dobrze wiem, co robię; nie muszę z góry planować sobie każdego szczegółu. Dwa piętra? Nie ma sprawy, dwa miesiące temu robiłem dom parterowy - zacznę od tego właśnie i potem dobudujemy jeszcze piętro”.

Załóżmy teraz, że mamy do naszego budowlańca bezgraniczne zaufanie i czekamy na efekty prac. Po kilku miesiącach stwierdzamy, że rury wodne i kanalizacyjne są na zewnątrz , a nie w ścianach. Indagowany o to budowlaniec stwierdza: “No tak, zapomniałem zostawić w ścianach miejsca na instalacje. Zastosowałem fantastyczną, nową technologię suchego muru i jakoś wyleciało mi to z głowy. Ale nie szkodzi, na zewnątrz to zadziała równie dobrze jak wewnątrz, a przecież najważniejsze jest, aby działało”. W tej chwili pojawiają się pierwsze wątpliwości, ale po chwili zastanowienia czekamy dalej.

Kiedy robimy pierwszy przegląd gotowego budynku, stwierdzamy, że w kuchni nie ma zlewu. Budowlaniec przeprasza: “Miałem już gotowe 2/3 kuchni, iedy stwierdziłem, że zlew się nigdzie nie zmieści. Zamiast zaczynać wszystko od początku, dodałem obok pomieszczenie na zlew - nie będzie to przeszkadzało prawda?

Odpowiedzi

To jak wyglada ich praca to nic. Najwazniesze jakie sa efekty, a te w wiekszosci sa takie jak w cytacie.. koszmarne. Tyczy sie to wiekszosci programistow nie tylko PHP.

Nie moge jednak powiedziec zebym nie sympatyzowal z takim podejsciem, jezeli sie robi projekt na laborke co samo z siebie oznacza b. maly system to projektowanie nie ma sensu bo tylko czas jest marnowany (co chcemy uzyskac wiemy bo jest w zadaniu, a zarys czego potrzebujemy mozna miec w glowie po 10sek przemysleniach). Inna sprawa jest w przypadku duzych systemow przy ktorych pracuje wiele osob, wtedy bez projektow po prostu sie nie da ale to wyjdzie w praktyce i nikogo nie bedzie trzeba do tego przekonywac ;)

Leave a response

Your response:

Kategorie