-
Data: 2011-12-10 23:36:51
Temat: Re: Porównanie różnych języków
Od: Andrzej Jarzabek <a...@g...com> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]On 10/12/2011 22:24, Roman W wrote:
> On Dec 10, 9:34 pm, Andrzej Jarzabek<a...@g...com>
>>
>> Jest trochę taki problem, że jak dokumentacja opisuje rzeczy niezgodne z
>> faktyczną rzeczywistością, to się na niej czas traci dwa razy: raz, jak
>> się ją pisze, drugi raz, jak się próbuje z niej skorzystać.
>
> Z regulay mozna wyodrebnic "rdzen" funkcjonalnosci, ktory sie raczej
> nie zmieni, i przynajmniej ten udokumentowac.
Niewątpliwie, jednak nie zawsze to jest potrzebne.
Oczywiście, że wiele rzeczy dokumentować trzeba. Dla produktu musi
powstać dokumentacja dla użytkownika końcowego, biblioteki czy inne
komponenty powinny mieć udokumentowane API, a wszystkie decyzje,
ustalenia i wnioski dotyczące funkcjonalności powinny być dokumentowane
na bieżąco. I przecież w Agile się tego nie kwestionuje. Przede
wszystkim odrzuca się tworzenie dokumentów, na podstawwie których
tworzony jest program: dokumentacji wymagań i "dokumentu projektowego"
czyli opisania całości struktury i jednostek kodu przed rozpoczęciem
implementacji. W dalszej kolejności odrzuca się w ogóle potrzebę
utrzymywania dokumentacji projektu kodu, nawet jeśli nie jest tworzony z
góry.
>> No i oczywiście rozwiązania agile nie polegają na tym, że nie
>> masz dokumentacji i tyle. Masz mniej dokumentacji niż w niektórych
>> innych rozwiązaniach, ale zamiast dokumentacji masz coś innego.
>
> Co? Testow jednostkowych nie uznaje za dokumentacje.
Dobrze napisane testy jednoostkowe mogą stanowić część dokumentacji
kodu, ale przede wszystkim robi się tak, że zamiast stworzenia na
początek dokumentu wymagań, masz w zespole ludzi, którzy rozumieją te
wymagania na tyle, że mogliby taki dokument napisać, i masz człowieka,
który na bieżąco może podejmować decyzje jak program ma działać, co ma w
nim być, czego być nie ma, co można uprościć i tak dalej.
W kwestii opisu projektu kodu, pierwszą zasadą jest czytelność. Ogólnie
jeśli coś jest nieoczywiste tak, że należałoby to udokumentować, to w
pierwszej kolejności rozważa się, czy nie możnaby tego jednak uczynić
oczywistym. Tak, owszem, czasem się nie da, i od tego masz różne inne
techniki, jak asercje, design by contract czy właśnie różne testy.
Odnośnie tego, unit testy mogą i powinny być dokumentacją projektu kodu,
ale muszą w tym celu być odpowiednio napisane - nie tylko tak, żeby
rzeczywiście testować daną funkcjonalność, ale też tak, żeby w
maksymalnie czytelny sposób wyrażać to, co mają testować. Często
wprowadza się deklaratywny styl kodu testującego, nawet tworząc sweg
rodzaju "domain specific languages" do tego. Jest niezła książka
"Growing Object Oriented Software Guided By Tests" Freemana i Pryce'a,
która pokazuje jak można to zrobić w Javie.
Te same zasady można też rozciągnąć na część dokumentacji wymagań,
stosując tzw. Acceptance Test Driven Development. Tam nie dokumentuje
się jednostek kodu, ale cały system, poprzez tworzenie testów
operujących na zewnętrznych interfejsach. Tu wręcz wymaga się tego, żeby
te testy były wyrażony w sposób jak najbardziej zbliżony do domeny
biznesowej, tak żeby nie-programista (np. przedstawiciel klienta) mógł
czytać taki kod i potwierdzić, że warunki i oczekiwane zachowanie
systemu wyrażone są prawidłowo.
Oczywiście to wszystko nie wyczerpuje sytuacji, gdzie potrzebna jest
dokumentacja w klasycznej postaci (dokumentu), i przecież z agile i
dokumentacją nie chodzi o zaprzeczenie tego faktu, czy o religijne nie
tworzenie dokumentacji tam, gdzie trzeba ją stworzyć, tylko w tym
przypadku o konstatację, że zazwyczaj te alternatywne sposoby sprawdzają
się lepiej od tworzenia z góry i potem utrzymywania dokumentu.
Następne wpisy z tego wątku
- 10.12.11 23:37 A.L.
- 12.12.11 07:16 Tomasz Kaczanowski
- 15.12.11 23:54 slawek
- 16.12.11 00:22 A.L.
- 16.12.11 16:24 Andrzej Jarzabek
- 16.12.11 16:20 Andrzej Jarzabek
- 16.12.11 16:44 Jacek
- 16.12.11 17:05 A.L.
- 16.12.11 17:10 A.L.
- 16.12.11 20:50 slawek
- 16.12.11 21:09 Roman W
- 17.12.11 01:20 Andrzej Jarzabek
- 17.12.11 01:25 Andrzej Jarzabek
- 17.12.11 01:32 Andrzej Jarzabek
- 17.12.11 03:07 A.L.
Najnowsze wątki z tej grupy
- 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
- "Wuj dobra rada" z KDAB rozważa: Choosing the Right Programming Language for Your Embedded Linux Device
Najnowsze wątki
- 2025-06-30 Kraków => Koordynator Produkcji / Przedstawiciel ds. rozwoju produktu
- 2025-06-30 Środa Wielkopolska => Konsultant wewnętrzny SAP FI/CO <=
- 2025-06-30 Białystok => Programista Mainframe (z/OS, Assembler) <=
- 2025-06-30 Warszawa => International Freight Forwarder <=
- 2025-06-30 Bieruń => Spedytor Międzynarodowy (handel ładunkami/prowadzenie flo
- 2025-06-30 Warszawa => Spedytor Międzynarodowy <=
- 2025-06-30 Lublin => Delphi Programmer <=
- 2025-06-30 Lublin => Programista Delphi <=
- 2025-06-30 Wrocław => Controlling systems Consultant <=
- 2025-06-30 Nowa tarcza do telefonu
- 2025-06-29 Spotkania z Ariane De Rotschild, szefową Iluminatów, Księżniczką Hiszpanii Leonor
- 2025-06-29 Re: Dr. Kontek (już od paru lat nie SGH) odkrył odchylenia statystyczne [PO EKSPERCIE?]
- 2025-06-28 Upadłość i zwolnienia [w Diorze, która była pol prod. głośników - przyp. JMJ]
- 2025-06-28 Taśma izolacyjna do prac elektrycznych
- 2025-06-27 Recenzja 3.1A ;) w 6 gniazdach...