Počítačový Denník
>> wap <<
wap.pc.sk
31. júla Sobota - 13:13

   

Vyhladavanie
   
  v článkoch  
  v diskusii  
  v inzercii  
 
 
Chcete PC spravodajstvo na vasej stránke?
P C . D E N N Í K
F Ó R U M
Kategorie
 
  ASP
  Databázy
  Linux
  PHP
  MySQL
  Návody a manuály
  Ťaháky
  Programovacie jazyky
  Súťaž
Grafika
 
 
  Flash
Bezpečnos
 
  Internet
Fóra
 
  Fórum pre doktorandov
  Virtuálna univerzita počitačovej
gramotnosti
 

Sme tu pre Vás. Zodpovieme Vám na otázky týkajúce sa hier. Stačí keď nám popíšete svoj problém
Infolinka:

prog@pc.sk


 
 



 

2001-03-30 00:00:00 - Imrich BURANSKÝ - Programovacie jazyky

Extrémne programovanie


Extrémne programovanie je taký prístup k tvorbe počítačových programov, pri ktorom sa využíva jednoduchosť, komunikatívnosť, spätná väzba a odvaha. Je určený pre malé tímy, ktoré potrebujú vyvinúť softvér rýchlo a najmä v podmienkach meniacich sa požiadaviek...

Nedávno sa mi dostala do rúk kniha Bruce Eckel – Myslíme v jazyku C++. Preklad z anglického originálu tejto knihy vyšiel vo vydavateľstve Grada v roku 2000. Ak ste ju nečítali a máte záujem o preniknutie do tajov C++, vrelo vám ju odporúčam. Pre mňa bola táto kniha zaujímavá aj tým, že v nej som sa prvýkrát stretol s pojmom extrémne programovanie (XP). Bruce Eckel tak presvedčivo uviedol stručnú charakteristiku tohto nového prúdu v programovaní, že som sa pustil do hľadania ďalších informácií o XP. Dozvedel som sa, že za pôvodcu myšlienky XP je považovaný Kent Beck. Jeho knihu Extreme programming Explained (výklad extrémneho programovania) sa mi nepodarilo zohnať. Na Internete som však našiel veľa zaujímavých stránok, ktoré sa venujú tejto téme. Sú jej venované viaceré diskusné skupiny, organizujú sa konferencie. Extrémne programovanie má svojich stúpencov, aj odporcov. Základom extrémneho programovania je dvanásť odporúčaní. Uvediem ich stručnú charakteristiku.

Plánovanie - v procese plánovania sa zadávateľovi umožňuje ohodnotiť požadované vlastnosti (črty) tvoreného programového diela z obchodného hľadiska. Programátori robia odhad ceny, ktorou sa zabezpečenie tejto vlastnosti bude podieľať na celkovej cene za vytvorenie diela. To umožňuje stanoviť priority a rozhodnúť, čo je skutočne potrebné vyriešiť a čo je druhoradé. Takémuto procesu plánovania sa tiež hovorí plánovacia hra (Planning Game). Význam takéhoto plánovania je v tom, že umožňuje efektívne vedenie projektu k úspechu.

Rýchly výstup - programátorský tím zabezpečí prvý funkčný vzor tvoreného systéme v čo najkratšom čase a v krátkych cykloch robí jeho rozširovanie so zohľadnenými pripomienkami používateľa.

Metafora - programátorský tím používa spoločné názvoslovie a spoločný opis systému. Je to základ efektívnej komunikácie v tíme.

Jednoduchosť –výsledný program by mal byť čo najjednoduchší, ale pritom musí spĺňať aktuálne požiadavky. Mal by obsahovať čo možno najmenej kódu určeného "pre budúcnosť". Namiesto toho by mala byť pozornosť venovaná jeho "obchodnej hodnote".

Testovanie – programátorský tím po celý čas vývoja venuje zvláštnu pozornosť overovaniu vytvoreného kódu. Testy sa pripravujú dokonca skôr než vlastný program. Používatelia potvrdzujú opodstatnenosť testov, lebo im zaručujú, že ich požiadavky budú splnené.

Prebudovávanie – počas celého vývoja sa programové riešenie vylepšuje. Dosahuje sa to "vyčisťovaním" programu – odstraňujú sa duplicity, zjednodušuje sa riešenie, ale zachováva sa kompletnosť. Využíva sa k tomu nepretržitá komunikácie v rámci riešiteľského tímu, ale aj komunikácia s používateľom.

Párové programovanie – programátori píšu kódy programov v dvojiciach pri jednom stroji. Mnohé experimenty potvrdili, že v dvojiciach sa vytvára lepší softvér a rýchlejšie, než v prípade samostatnej práce jednotlivých programátorov.

Kolektívne vlastníctvo – všetky zdrojové kódy patria všetkým programátorom. To umožňuje tímu rýchlo napredovať v riešení, pretože je možné úpravy a zmeny robiť bez zbytočných prieťahov.

Neustála integrácia – softvérový produkt sa kompiluje a spája veľakrát počas jedného dňa. Umožňuje sa tým udržať v strehu všetkých programátorov a rýchle napredovať v riešení.

40 hodinový pracovný týždeň – unavení programátori robia viac chýb. Programátorský tím nesmie pracovať extenzívne a v nadčasoch. Programátori sa musia udržiavať svieži, zdraví a efektívni. Taký bude potom aj celý tím.

Strana používateľa – projekt je vedený určeným zástupcom, ktorý je oprávnený stanovovať požiadavky, priority a odpovedá na otázky kladené programátormi. Zlepšuje to komunikáciu s používateľom a redukuje papierovú dokumentáciu, ktorá je často najnákladnejšou zložkou softvérového projektu.

Štandardy kódovania – pre efektívnu prácu v tíme, kde sa pracuje v dvojiciach a je spoločné vlastníctvo kódu, je dôležité písať zdrojový kód rovnakým spôsobom a podľa rovnakých zásad (štábna kultúra).

Vstup do sveta extrémneho programovania sa dá uskutočniť cez webovú stránku:

www.xprogramming.com.

Keď som získal podrobnejšie informácie o extrémnom programovaní, nadobudol som dojem, že uvedené princípy sa najviac uplatňujú v tímoch, ktorých programové riešenie sa zakladá na využití programovacieho jazyka Smalltalk. Takým je napríklad aj tím Chrysler Comprehensive Compensation (C3), ktorého skúsenosti sa dajú nájsť na stránke:

www.xprogramming.com/Practices/xpractices.htm.

Ak sa však hlbšie zamyslíme nad podstatou odporúčaní extrémneho programovania, musíme pripustiť, že mnohé z nich sa dajú použiť aj v tímoch, ktoré používajú iné programovacie jazyky než Smalltalk. Dá sa o tom presvedčiť aj z obsahu stránok, na ktoré sa dostanete z adresy:

www.objectmentor.com/xp/why.html.

Extrémne programovanie si za päť rokov svojej existencie získalo svojich priaznivcov aj odporcov. Dôkazom toho sú aj niektoré príspevky v diskusnej skupine extrémneho programovania na portáli www.yahoo.com, alebo aj článok:

www.sdmagazine.com/articles/2001/0104/0104a/0104a.htm,

ktorému autor – propagátor UML – prisúdil názov "Is Design Dead ?" (Je návrh mŕtvy ?). V tomto článku je viacero výhrad k jednotlivým odporúčaniam pre extrémne programovanie.

Sme svedkami toho, že neustále hľadajú cesty k zvýšeniu efektívnosti práce programátorov. Pre menšie programátorské tímy sa teraz ponúka cesta extrémneho programovania. Až budúcnosť ukáže, či sa oplatí ísť touto cestou. Ak by sme aj odmietli extrémne programovanie ako celok, mnohé odporúčania tohto smeru programovania stoja za zamyslenie.


Súvisiace články:
2001-03-28 00:00:00 UML – základ objektovo orientovaného programovania - Programovacie jazyky
2001-03-22 00:00:00 Umenie programovať – dedičnosť - Programovacie jazyky
2001-03-16 00:00:00 Umenie programovať - objekty - Programovacie jazyky
Z CACHE




 
Najčastejšie programujete v
 
 
(Odpovedalo 5358 ľudí)

C++ (1859)
 35%
Jave( 389)
 7%
PHP alebo Perl (1117)
 21%
Delphi (1040)
 19%
Inom jazyku (953)
 18%

Klikni na zvolenú odpoveď!
 
   
Pracovná ponuka - správca informačných systémov
Senzory pre LEGO® RoboLab
LEGO Robolab
Agilné programovanie
Manažment súčasných telekomunikačných sietí
OPONENTSKÝ POSUDOK na článok ČERNÁK, I.: Manažment súčasných telekomunikačných sietí
ORACLE uvádza Oracle Database 10g - prvú databázu pre podnikové grid systémy
TOPlist


(c) 2000 HWSK, Všetky práva vyhradené