-
Data: 2013-01-07 01:09:21
Temat: Re: Prowadzenie/dokumentowanie projektu...
Od: Andrzej Jarzabek <a...@g...com> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]On 06/01/2013 17:03, Edek Pienkowski wrote:
> Dnia Sun, 06 Jan 2013 16:25:45 +0000, Andrzej Jarzabek wyszeptal:
>>
>> Nawet wtedy pomoże. Dokładna metoda opisana jest w "Working Effectively
>> With Legacy Code" Michaela Feathersa. Przede wszystkim jednak chodzi o
>> to, żeby do takiej sytuacji nie doprowadzić, i skuteczne narzędzia do
>> tego dają ci TDD i incremental refactoring (plus być może kilka innych
>> rzeczy, jak dobre coding standards i karty CRC).
>
> No tak, jak coś jest w jakiejś książce, znaczy to jest Święta prawda ;)
Nie znaczy, ale w tym przypadku akurat tak jest. Podałem namiar na
literaturę w celu odniesienia do opis tego, o czym mówię - dowodem
skuteczności natomiast nie jest istnienie książki, tylko korroboracja
tych technik w bardzo wielu projektach - również przeze mnie.
> Agile składa się z wielu technik, ale celem większości jest skrócenie
> cyklu feedbacku w wielu procesach, z których zbudowany jest większy
> proces zwany produkcją oprogramowania. Do czego nawiązuje nazwa.
No więc jedną z metodologii, na których zbudowany został ruch Agile jest
XP, który właśnie wprowadził techniki, o których mówię - jeszcze zanim
cokolwiek się nazywało Agile. Od tego czasu zresztą te techniki zostały
mocno rozwinięte i są po prostu częścią ogółu technik określanych jako
Agile.
Opierają się one jak najbardziej na cyklach feedbacku (tych
najkrótszych, liczonych nawet w minutach), ale zasada, z której
wypływają jest inna: jeśli oddajesz oprogramowanie często, np. co
tydzień, i z zasady oddajesz je w stanie nadającym się do produkcji, to
nie masz szczególnych powodów, żeby starać się zrobić więcej w jednym
tygodniu, jeśli to oznacza, że w następnych zrobisz mniej. Zasadą jest
"sustainable pace" - starasz się w każdej iteracji oddawać podobnej
wielkości kawałek roboty, a potem na tym budujesz plany szacujące kiedy
mniej więcej co zostanie zrobione. Dlatego też jeśli taki proces ma
działać, twój kod musi cały czas być "maintainable", bo jak się w nim
zagrzebiesz, to stracisz możliwość dostarczania sensownej wielkości
inkrementów w kolejnych tygodniach.
[...]
> oprogramowania, dopiero one są inżynierą oprogramowania czyli materią,
> sam Agile/Waterfall to ogólna rama kontroli procesów, same procesy
> są bardzo podobne - z wymienionych testy i coding standards
> są uniwersalne, dochodzi wiele spraw technicznych i ogólne
> zarządzanie utrzymujące wysokie standardy.
TDD to nie tylko testy, poza tym oczywiście można stosować te wszystkie
rzeczy nawet w ramach procesów które nie mają nic wspólnego z Agile.
Ja tylko polemizowałem z tym, że Agile "nie daje narzędzi" - otóż daje,
bardzo skuteczne narzędzia, tylko trzeba wiedzieć gdzie patrzeć. Prakyki
Agile tworzą pewne spektrum od "management practices" do "engineering
practices". Jeśli szukamy narzędzi do utrzymywania "maintainability"
kodu, to raczej będą one po stronie "engineering" nie "management"
(gdzie np. leży cały Scrum).
> No ale jak ktoś mówi "przepiszmy wszystko", to trochę tak jakby
> ktoś w towarzystwie powiedział "jesteście głupi" (nie mylić
> z "czy aby jesteście trzeźwi, obywatelu"). Albo faktycznie muszą
> gruntownie zmienić zachowanie i jest to mesjasz, który odmieni
> oblicze projektu, albo też nie do końca zrównoważony łepek,
> który ani nie potrafi modyfikować kodu, ani też nie będzie
> potrafił go napisać (tym bardziej) od początku, nie mówiąc
> o "lepiej". Tak czy inaczej, bez więcej niż jednego podbitego
> oka się nie obędzie, więc najwyraźniej coś do tej pory mocno
> zawiodło: albo faktycznie proces pisania kodu nie podlegał
> żadnej kontroli, albo w grupie jest ktoś "nie do końca rozumiejący
> sytuację" i "radykalny wobec istniejących norm społecznych".
> (Słyszałem już parę razy "przepiszmy", częściej był
> to głupi pomysł, ale widziałem też uzasadniony. Zawsze osoba
> wykazująca wtedy niezbędną specjalną troskę była sowicie opłacana,
> błędy katastrofalne kosztują).
Nie do końca wiem jak zinterpretować tę wypowiedź. Ja w życiu
uczestniczyłem w kilku rewrite-ach, i newt nie twierdzęę, że to zawsze
zły pomysł (chociaż zawsze ryzykowny). Natomiast jet to świadectwo
osatecznego krachu "maintainability" - pomijając szczególne sytuacje,
jeśli znajdujemy się w sytuacji, gdzie bardziej opłaca się napisać coś
od nowa niż poprawiać istniejący program, to raczej mamy do czynienia z
nagromadzeniem dużej ilości błędów, z której nie bardzo wiadomo, jak się
wycofać. Zwykle takich decyzji się lekką ręką nie podejmuje.
>>>> Jest duży postęp w dziedzinie inżynierii oprogramowania, nic
>>>> dziwneggo,
>>>> że nowsze metody dają lepsze rezultaty niż stare.
>>> Tak, od małpy do świnki morskiej nastąpiła długa droga ewolucji.
>> To trochę OT, ale proponuję podszkolić się z biologii.
>
> To byłaby połowiczna analiza tekstu pisanego.
Masz na myśli tekst "O pochodzeniu gatunków" Darwina?
Następne wpisy z tego wątku
- 10.01.13 10:13 firr kenobi
- 15.01.13 23:28 Gotfryd Smolik news
- 16.01.13 08:51 Andrzej Jarzabek
- 16.01.13 09:01 Miroslaw Kwasniak
- 17.01.13 18:12 darekm
- 18.01.13 00:06 Andrzej Jarzabek
- 18.01.13 11:23 darekm
- 22.01.13 23:42 Andrzej Jarzabek
- 25.01.13 11:34 darekm
- 27.01.13 01:41 Andrzej Jarzabek
- 14.02.13 23:28 Edek Pienkowski
- 15.02.13 01:44 Andrzej Jarzabek
Najnowsze wątki z tej grupy
- Can you activate BMW 48V 10Ah Li-Ion battery, connecting to CAN-USB laptop interface ?
- We Wrocławiu ruszyła Odra 5, pierwszy w Polsce komputer kwantowy z nadprzewodzącymi kubitami
- Ada-Europe - AEiC 2025 early registration deadline imminent
- John Carmack twierdzi, że gdyby gry były optymalizowane, to wystarczyły by stare kompy
- Ada-Europe Int.Conf. Reliable Software Technologies, AEiC 2025
- Linuks od wer. 6.15 przestanie wspierać procesory 486 i będzie wymagać min. Pentium
- ,,Polski przemysł jest w stanie agonalnym" - podkreślił dobitnie, wskazując na brak zamówień.
- Rewolucja w debugowaniu!!! SI analizuje zrzuty pamięci systemu M$ Windows!!!
- Brednie w wiki - hasło Dehomag
- Perfidne ataki krakerów z KRLD na skrypciarzy JS i Pajton
- Instytut IDEAS może zacząć działać: "Ma to być unikalny w europejskiej skali ośrodek badań nad sztuczną inteligencją."
- Instytut IDEAS może zacząć działać: "Ma to być unikalny w europejskiej skali ośrodek badań nad sztuczną inteligencją."
- Instytut IDEAS może zacząć działać: "Ma to być unikalny w europejskiej skali ośrodek badań nad sztuczną inteligencją."
- U nas propagują modę na SI, a w Chinach naukowcy SI po kolei umierają w wieku 40-50lat
- C++. Podróż Po Języku - komentarz
Najnowsze wątki
- 2025-07-14 Awaria VM?
- 2025-07-14 Gdańsk => Programista Kotlin <=
- 2025-07-14 Warszawa => Junior Rekruter <=
- 2025-07-14 Warszawa => Specjalista rekrutacji IT <=
- 2025-07-14 Wkłady do zniczy...
- 2025-07-14 Warszawa => Specjalista ds. Sprzętu Komputerowego <=
- 2025-07-14 Re: PO chroniło i chroni policyjnych bandziorów [zawiasy za katowanie obywatela (Poznań czerwiec 2012)]
- 2025-07-14 Warszawa => International Freight Forwarder <=
- 2025-07-14 Warszawa => Recruiter 360 <=
- 2025-07-14 Re: Rz?Âd ZAKAZUJE magazyn?Â?w energii ?!! Nowe prawo od 14 lipca to SZOK! ??Â
- 2025-07-14 Warszawa => Sales Assistant <=
- 2025-07-13 Fałszywe alerty
- 2025-07-12 dlaczego gadacie z tym debilem
- 2025-07-13 Unia Europejska przygotowuje nowy podatek
- 2025-07-13 Unia Europejska przygotowuje nowy podatek