Notice: Undefined offset: 1 in /var/www/vhosts/wydmy.info/subdomains/www.informatyczne/httpdocs/___links_.php on line 46
Notice: Undefined offset: 2 in /var/www/vhosts/wydmy.info/subdomains/www.informatyczne/httpdocs/___links_.php on line 47
Notice: Undefined offset: 1 in /var/www/vhosts/wydmy.info/subdomains/www.informatyczne/httpdocs/___links_.php on line 46
Notice: Undefined offset: 2 in /var/www/vhosts/wydmy.info/subdomains/www.informatyczne/httpdocs/___links_.php on line 47
Notice: Undefined offset: 1 in /var/www/vhosts/wydmy.info/subdomains/www.informatyczne/httpdocs/___links_.php on line 46
Notice: Undefined offset: 2 in /var/www/vhosts/wydmy.info/subdomains/www.informatyczne/httpdocs/___links_.php on line 47
Notice: Undefined offset: 1 in /var/www/vhosts/wydmy.info/subdomains/www.informatyczne/httpdocs/___links_.php on line 46
Notice: Undefined offset: 2 in /var/www/vhosts/wydmy.info/subdomains/www.informatyczne/httpdocs/___links_.php on line 47
Notice: Undefined offset: 1 in /var/www/vhosts/wydmy.info/subdomains/www.informatyczne/httpdocs/___links_.php on line 46
Notice: Undefined offset: 2 in /var/www/vhosts/wydmy.info/subdomains/www.informatyczne/httpdocs/___links_.php on line 47
Notice: Undefined offset: 1 in /var/www/vhosts/wydmy.info/subdomains/www.informatyczne/httpdocs/___links_.php on line 46
Notice: Undefined offset: 2 in /var/www/vhosts/wydmy.info/subdomains/www.informatyczne/httpdocs/___links_.php on line 47
Notice: Undefined offset: 1 in /var/www/vhosts/wydmy.info/subdomains/www.informatyczne/httpdocs/___links_.php on line 46
Notice: Undefined offset: 2 in /var/www/vhosts/wydmy.info/subdomains/www.informatyczne/httpdocs/___links_.php on line 47
Notice: Undefined offset: 1 in /var/www/vhosts/wydmy.info/subdomains/www.informatyczne/httpdocs/___links_.php on line 46
Notice: Undefined offset: 2 in /var/www/vhosts/wydmy.info/subdomains/www.informatyczne/httpdocs/___links_.php on line 47
Notice: Undefined offset: 1 in /var/www/vhosts/wydmy.info/subdomains/www.informatyczne/httpdocs/___links_.php on line 46
Notice: Undefined offset: 2 in /var/www/vhosts/wydmy.info/subdomains/www.informatyczne/httpdocs/___links_.php on line 47
Notice: Undefined offset: 1 in /var/www/vhosts/wydmy.info/subdomains/www.informatyczne/httpdocs/___links_.php on line 46
Notice: Undefined offset: 2 in /var/www/vhosts/wydmy.info/subdomains/www.informatyczne/httpdocs/___links_.php on line 47
Notice: Undefined offset: 1 in /var/www/vhosts/wydmy.info/subdomains/www.informatyczne/httpdocs/___links_.php on line 46
Notice: Undefined offset: 2 in /var/www/vhosts/wydmy.info/subdomains/www.informatyczne/httpdocs/___links_.php on line 47
Notice: Undefined variable: aUrl in /var/www/vhosts/wydmy.info/subdomains/www.informatyczne/httpdocs/___links_.php on line 56
Notice: Undefined variable: aUrl in /var/www/vhosts/wydmy.info/subdomains/www.informatyczne/httpdocs/___links_.php on line 59
Notice: Undefined variable: aUrl in /var/www/vhosts/wydmy.info/subdomains/www.informatyczne/httpdocs/___links_.php on line 63
Programowanie ekstremalne
Z Wikipedii
Programowanie ekstremalne (ang. eXtreme Programming, XP) - to paradygmat i metodyka programowania mające na celu wydajne tworzenie małych i średnich "projektów wysokiego ryzyka", czyli takich, w których nie wiadomo do końca, co się tak naprawdę robi i jak to prawidłowo zrobić. Przyświeca temu koncepcja prowadzenia projektu informatycznego, wywodząca się z obserwacji innych projektów, które odniosły sukces.
Podstawą ekstremalnego programowania jest synergia wynikająca ze stosowania rozmaitych praktyk, które same w sobie mają wiele zalet, lecz mogą być trudne w zastosowaniu. Łączne użycie tych praktyk ma zapewniać wyeliminowanie niedogodności każdej z nich.
Podstawowe założenia zostały sformułowane przez Kenta Becka. Stroną, która służyła do wymiany poglądów na temat programowania ekstremalnego było pierwsze na świecie Wiki Portland Pattern Repository założone przez Becka i Cunninghama.
Spis treści |
[edytuj] Zalecenia
[edytuj] Iteracyjność
Program tworzy się w iteracjach (krótkie, przyrostowe kroki programistyczne) - i co ważniejsze - planuje tylko następną iterację. Efektem każdej iteracji (kilka tygodni) powinna być wersja programu spełniającą założenia dla danej iteracji. Następnie planuje się co zrobić dalej.
Odpowiada to zasadzie Open Source: "release early, release often" (wczesne i częste wydania).
[edytuj] Nie projektować z góry
Nie można z góry przewidzieć, jaka architektura będzie najlepsza dla danego problemu. Dlatego należy ją tworzyć w miarę rozszerzania programu.
[edytuj] Testy podzespołów
Testy podzespołów pisze się zanim w ogóle zacznie się pisać kod - najlepiej na początku iteracji. Potem pisze się kod, który potrafi je wszystkie przejść. Takie testy dają zapewnienie (o ile testy są dobrze napisane), że to, co ważne, zostanie zaprojektowane, na to zaś, co nie jest ważne, programiści nie będą tracić czasu.
[edytuj] Ciągłe modyfikacje architektury
Architektura nie jest czymś, czego nie wolno ruszać. Jeśli modyfikacja architektury ułatwi przejście danej iteracji i nie zepsuje wyników testów uzyskanych na poprzednich, należy ją wykonać. Pod tę zasadę podlega także usuwanie wszystkich znanych błędów przed rozszerzeniem funkcjonalności.
[edytuj] Programowanie parami
Programiści piszą w parach: jedna osoba pracuje przy klawiaturze i jest głównym koderem, druga obserwuje pierwszą, zgłasza poprawki, zadaje pytania wyjaśniające. Umożliwia to wyłapanie wielu błędów oraz wzajemną naukę. Kod, którym zajmuje się tylko jedna osoba, ma tendencje do stawania się całkowicie niezrozumiałym dla kogokolwiek innego niż autor, więc dodatkowy programista zwiększa jakość kodu.
Nie jest jasne, czy sumarycznie łączna wydajność pracy przy takiej metodzie jest wyższa, taka sama, czy niższa niż w tradycyjnym programowaniu indywidualnym.
[edytuj] Stały kontakt z klientem
Specyfikacje są prawie zawsze wieloznaczne, dziurawe i sprzeczne ze sobą. Tak więc należy mieć stały kontakt z tym, dla kogo to oprogramowanie jest tworzone (klient zamawiający program, czy też użytkownicy końcowi). Jeśli kontakt jest dobry, można się nawet obyć bez specyfikacji.
[edytuj] Kwestie kontrowersyjne
- Brak dokładnej specyfikacji.
- Konieczna stała dostępność przedstawiciela klienta.
- Wspólna "własność" kodu - każdy może zmieniać dowolny fragment systemu.
[edytuj] Zobacz też
- XPrince - likwidacja słabych stron XP
[edytuj] Linki zewnętrzne
- http://c2.com/cgi/wiki?ExtremeProgrammingRoadmap strona Portland Pattern Repository
- http://www.extremeprogramming.org/
- http://wortal.php.pl/wortal/tlumaczenia/zasady_i_praktyki_programowania_ekstremalnego_xp (polskie tłumaczenie extremeprogramming.org)
- http://cieslakd.aplikacja.info/Artykuly.html (Artykuły na temat Extreme Programming)
| Krótki przegląd nowości w KDE 4.2 – aplikacje |
|
W tej części przewodnika zapoznamy się ze zmianami wprowadzonymi w różnych częściach KDE4. Nie następują tam może tak efektowne zmiany jak w Plazmie czy Kwin (lub pozostają niezauważone), które w obecnym cyklu wydawniczym są tworzone właściwie od zera lub wzbogacane o cały nowy zakres funkcjonalności. Przybliżymy Wam kilka ciekawszych nowości w różnych aplikacjach KDE4.
|
| Linux przyczyną dużej liczby zwrotów netbooków |
|
Ilość zwrotów netbooków z Linuksem jest czterokrotnie wyższa niż tych wyposażonych w Windows XP
|
| Google odświeża repozytorium z aplikacjami dla Linuksa |
|
Wyszukiwarkowy gigant, firma Google odświeżyła repozytoria z oprogramowaniem dla Linuksa. Zawierają one najnowsze dostępne wersje aplikacji i pozwalają na łatwiejsze aktualizowanie już posiadanych.
|
| Wydano openSUSE 11.1 Beta 2 |
|
3 października zespół openSUSE ogłosił wydanie drugiej wersji beta systemu. Częściowo udało się rozwiązać problem z uszkodzonym sterownikiem dla kart e1000e Intela. Podobnie jak poprzednio jest to wydanie przeznaczone głównie do testów.
|
| Microsoft redefiniuje “Open Source” |
|
Microsoft niedawno z wielką pompą otwierał platformę CodePlex mającą “hostować projekty open source”. Okazuje się, że na CodePleksie znajdują się jednak również programy, których licencja zakazuje uruchamiania ich na innych platformach niż Windows…
|