Mi a szélsőséges programozás és hogyan használja?
Az Extreme Programming egy szoftverfejlesztési módszer, amelynek célja a szoftver minőségének javítása, valamint az ügyfél vagy az ügyfél változó igényeihez való megfelelő alkalmazkodás képessége. A kilencvenes évek közepén és végén, miközben a Chrysler átfogó kompenzációs rendszerén (C3) dolgozott, hogy segítsen kezelni a vállalat bérszámfejtését, Ken Beck szoftvermérnök először kifejlesztette az extrém programozási módszert., 1999 októberében kiadta az Extreme Programming Explained-et, részletezve a teljes módszert mások számára, nem sokkal később pedig a hivatalos weboldal is elindult.
a többi agilis fejlesztési módszerhez hasonlóan az Extreme Programming célja, hogy iteratív és gyakori kis kiadásokat biztosítson a projekt során, lehetővé téve mind a csapattagok, mind az ügyfelek számára, hogy megvizsgálják és áttekintsék a projekt előrehaladását az SDLC egész területén.,
ebben a cikkben megvizsgáljuk, hogy pontosan mi a szélsőséges programozás és hogyan működik, a mögötte álló értékektől és elvektől kezdve az új extrém programozási projekt megvalósításához használt szabályokig és eljárási legjobb gyakorlatokig, Tehát kezdjük el!,/td>
Extrém Értékek
ez az öt alapvető értékek biztosítják az alapot, amelyre az teljes egészében a Szélsőséges Programozási paradigma épül, amely lehetővé teszi, hogy az ember részt vesz, a projekt magabiztosnak érzem magam abba az irányba, hogy a projekt tart, meg kell értenie, hogy a személyes visszajelzések, illetve a megfigyelés, mint szükséges, isten hozott, mint bárki más.,
egyszerűség: megteszünk mindent, amire szükség van, de nem többet. Ez maximalizálja az eddig végrehajtott beruházáshoz létrehozott értéket. Apró, egyszerű lépéseket teszünk a célunk elérése érdekében, és a kudarcok enyhítése érdekében, amint azok megtörténnek. Létrehozunk valamit, amire büszkék vagyunk, és hosszú távon fenntartjuk ésszerű költségek mellett.
kommunikáció: mindenki a csapat tagja, naponta szemtől szemben kommunikálunk. Mindent együtt fogunk dolgozni a követelményektől a kódig. Mi lesz a legjobb megoldás a problémára, hogy mi lehet együtt.,
visszajelzés: minden iterációs elkötelezettséget komolyan veszünk a működő szoftver szállításával. Bemutatjuk a szoftver korai, majd gyakran figyelmesen hallgatni, és hogy minden szükséges változtatást. A projektről fogunk beszélni, és ehhez igazítjuk a folyamatunkat, nem fordítva.
tisztelet: mindenki megadja és érzi azt a tiszteletet, amit megérdemel, mint értékes csapattag. Mindenki hozzájárul az értékhez, még akkor is, ha egyszerűen lelkesedés. A fejlesztők tiszteletben tartják az ügyfelek szakértelmét, és fordítva. A vezetés tiszteletben tartja azt a jogunkat, hogy felelősséget vállaljunk és felhatalmazást kapjunk a saját munkánk felett.,
bátorság: elmondjuk az igazságot a haladásról és a becslésekről. Nem dokumentáljuk a kudarc kifogásait, mert azt tervezzük, hogy sikerül. Nem félünk semmitől, mert senki sem dolgozik egyedül. Alkalmazkodni fogunk a változásokhoz, amikor valaha is megtörténnek.
Extreme Rules
eredetileg megjelent Don Wells 1999-ben, a tulajdonos az Extreme Programming honlapján, ez a sor extrém programozási szabályok eredetileg célja, hogy segítsen ellensúlyozni az állítások, hogy az extrém programozás nem támogatja néhány kiemelkedő tudományágak szükséges a modern fejlődés.,
tervezés
- felhasználói történetek vannak írva.
- a Kiadástervezés létrehozza a kiadási ütemtervet.
- Készítsen gyakori kis kiadásokat.
- a projekt iterációkra oszlik.
- az iterációs tervezés minden iterációt elindít.
kezelése
- adjon a csapatnak egy dedikált nyitott munkaterületet.
- állítsa be a fenntartható tempót.
- stand up meeting starts each day.
- a projekt sebességét mérjük.
- mozgassa az embereket.
- Fix Extrém programozás, amikor eltörik.
- egyszerűség.,
- válasszon egy rendszer metaforát.
- használjon CRC kártyákat tervezési munkamenetekhez.
- hozzon létre spike megoldásokat a kockázat csökkentése érdekében.
- nincs funkció hozzá Korán.
- Refactor amikor csak lehetséges.
kódolás
- az ügyfél mindig elérhető.
- kódot kell írni, hogy elfogadott szabványoknak.
- először kódolja az egységtesztet.
- az összes gyártási kód pár programozva van.
- egyszerre csak egy pár integrálja a kódot.
- gyakran integrálódik.
- hozzon létre egy dedikált integrációs számítógépet.
- használja a kollektív tulajdonjogot.,
tesztelés
- minden kódnak egységtesztekkel kell rendelkeznie.
- minden kódnak meg kell felelnie az összes egységtesztnek, mielőtt felszabadulna.
- Ha hibát talál, tesztek jönnek létre.
- az elfogadási teszteket gyakran futtatják, és a pontszámot közzéteszik.
Extreme Practices
az akkoriban a szoftverfejlesztés legjobb gyakorlatának tartott módszerek felhasználásával létrehozott szélsőséges gyakorlatok részletezik azokat a konkrét eljárásokat, amelyeket az extrém programozást alkalmazó projekt végrehajtásakor követni kell.,
Finomléptékű visszacsatolás
pár programozás
lényegében a pár programozás azt jelenti, hogy két ember ugyanabban a rendszerben dolgozik, amikor bármilyen termelési kódot fejleszt. Az Extreme Programming az egész csapatban gyakran forgó partnerekkel elősegíti a jobb kommunikációt és a csapatépítést.
tervezési játék
gyakran ez egy gyakori és jól meghatározott időközönként (egy-két hetente) találkozó formájában történik, ahol a projekt tervezésének többsége megtörténik.,
ezen az eljáráson belül létezik a Kiadástervezési szakasz, ahol meghatározások készülnek a közelgő kiadásokhoz szükséges információkról. A Kiadástervezés szakaszai a következők:
- feltárási szakasz: a Történetkártyákat az ügyfelek legértékesebb követelményeinek részletezésére használják.
- kötelezettségvállalási szakasz: a csapat tervezését és kötelezettségvállalásait a következő ütemezés kiadásának igényeinek kielégítésére és időben történő kiszállítására készítik el.,
- kormányzási szakasz: Ez lehetővé teszi a korábban kidolgozott tervek kiigazítását a projekt változó igényei alapján, hasonlóan sok más agilis modell módszertanhoz.
A kiadás tervezését követően az iterációs tervezési szakasz is, amely ugyanazon három alfázisból áll, de megvalósításuk változataival:
- feltárási szakasz: minden projektkövetelmény le van írva.
- kötelezettségvállalási szakasz: a szükséges feladatok, amelyeket még be kell fejezni a közelgő iterációs kiadás teljesítéséhez, a fejlesztőkhöz vannak rendelve, és megfelelően ütemezve.,
- kormányzási fázis: a fejlesztés megtörténik, és a megvalósítás után az eredményül kapott iterációt összehasonlítjuk a tervezési eljárás kezdetén létrehozott vázolt történetkártyákkal.
Teszt vezérelt fejlesztés
Míg egy teljes cikket írt arról, hogy a teszt-vezérelt fejlesztés, a koncepció meglehetősen jól ismert, a fejlesztők pedig gyakorlatilag azt jelenti, hogy a vizsgálatok keletkezik minden követelmény a projekt, akkor a kód kifejleszteni, amely sikeresen át azokat a teszteket.,
egész csapat
mint sok más SDLC-módszernél és gyakorlatnál, az Extreme Programming elősegíti az ügyfelek és az ügyfelek bevonását az egész folyamat során, visszajelzéseik segítségével, hogy mindig alakítsák a projektet.
folyamatos folyamat
folyamatos integráció
egy másik gyakori gyakorlat a modern fejlesztés, az ötlet mögött folyamatos integráció, hogy az összes kifejlesztett kódot az egész csapat beolvadt egy közös tároló naponta többször., Ez biztosítja, hogy a projekt egészére kiterjedő integrációval kapcsolatos kérdéseket a lehető leghamarabb észrevegyék és kezeljék.
Code refactoring
egy másik nagyon gyakori gyakorlat, a code refactoring mögött álló ötlet egyszerűen a már meglévő kód szerkezetének javítása és újratervezése, alapvető viselkedésének módosítása nélkül. A refaktorálás egyszerű példái közé tartozik a nem megfelelő nevek változóinak vagy módszereinek rögzítése, valamint az ismételt kód csökkentése egyetlen módszerre vagy funkcióra.,
kis kiadások
nagyon összhangban az iteratív modell gyakorlatával, ez a koncepció biztosítja, hogy a projekt gyakori iterált, kis kiadásokkal rendelkezzen, lehetővé téve az ügyfél számára, mint minden csapattag, hogy megértse a projekt fejlődését.
közös megértés
kódolási szabványok
a kódolási szabvány egyszerűen a kódon belüli legjobb gyakorlatok halmaza, mint például a formázás és a stílus, amelyet az egész csapat a projekt életciklusa során betartja., Ez elősegíti a kód jobb megértését és olvashatóságát nemcsak a jelenlegi tagok számára, hanem a jövőbeli fejlesztők számára is.
kollektív kódtulajdon
Ez a gyakorlat lehetővé teszi, hogy a csapat bármely fejlesztője szükség szerint megváltoztassa a kód bármely szakaszát. Bár ez a gyakorlat egyesekre veszélyesnek tűnhet, felgyorsítja a fejlesztési időt, és minden lehetséges problémát meg lehet szüntetni a megfelelő egységvizsgálattal.
egyszerű kialakítás
kevés ok van a dolgok bonyolítására, ha egyszerűbb lehetőség áll rendelkezésre., Ez az alapvető gyakorlat, hogy az összes komponenst és kódot a lehető legegyszerűbben tartsuk, biztosítja, hogy az egész csapat mindig értékelje, hogy a dolgok könnyebben elvégezhetők-e.
rendszer metafora
a kódolási szabványok részeként a rendszer metafora az az elképzelés, hogy a csapat minden tagjának képesnek kell lennie arra, hogy megnézze a kifejlesztett magas szintű kódot, és világosan megértse, hogy a kód milyen funkciókat hajt végre.,
programozó jólét
fenntartható ütemben
a legfontosabb koncepció a jobb munka-élet egyensúly a fejlesztők egy extrém programozási projekt az az elképzelés, hogy senki nem kell dolgozni meghaladja a normál ütemezett Munkahét. A túlóra homlokát ráncolja, csakúgy, mint a “crunch time” fogalma, ahol a fejlesztők várhatóan extrém órákat dolgoznak a kiadás vége felé, hogy mindent időben elkészítsenek.