See also ebooksgratis.com: no banners, no cookies, totally FREE.

CLASSICISTRANIERI HOME PAGE - YOUTUBE CHANNEL
Privacy Policy Cookie Policy Terms and Conditions
Ribinis programavimas - Vikipedija

Ribinis programavimas

Straipsnis iš Vikipedijos, laisvosios enciklopedijos.

Ribinis programavimas, dar vadinamas ekstremaliu programavimu (angl. XP, nuo Extreme Programming) – populiariausias lanksčiojo programavimo metodas, suformuluotas Kent Beck, Ward Cunningham ir Ron Jeffries.

[taisyti] Bazinės praktikos

Bazinės praktikos skirstomos į keturias grupes:

  • Pastovus grįžtamasis ryšys (feedback)
    • Testais paremtas programavimas
    • Planavimo žaidimas
    • Vientisa komanda (įtraukiant užsakovą)
    • Programavimas poromis
  • Nenutrūkstamas procesas
    • Nuolatinis integravimas
    • Pertvarkymas (refactoring)
    • Smulkios laidos (releases)
  • Bendras supratimas
    • Paprastas projektas
    • Sistemos metafora
    • Bendra kodo nuosavybė
    • Kodavimo standartai
  • Programuotojo gerovė
    • Pastovus tempas (jokių viršvalandžių)

Visos šios praktikos išvestos iš pripažįstamų geriausių praktikų, naudojant jas ribiniu atveju:

  • Bendravimas tarp programuotojo ir kliento yra gerai. Todėl į ribinio programavimo komandą įtraukiamas užsakovas, detalizuojantis ir prioritizuojantis darbus, taip pat galintis iškart atsakyti į iškilusius klausimus.
  • Mokymasis gerai. Todėl programavimo laikas (ciklas) sutrumpinamas iki mažiausio galimo, o testuojama programavimo metu.
  • Kuo paprastesnis kodas, tuo didesnė tikimybė, kad jis gerai veiks. Taigi, programuojama tik tai, ko reikia, prireikus, eliminuojamas kompleksiškumas ir kodo dubliavimas. Per sudėtingas kodas perrašomas.
  • Kodo peržiūros yra naudingos. Todėl XP programuotojai dirba poromis, prie vieno monitoriaus ir klaviatūros, todėl visas kodas peržiūrimas rašymo metu.
  • Kodo testavimas yra gerai. Todėl automatiniai testai rašomi prieš pradedant rašyti kodą. Užduotis laikoma baigta tik tada, kai visi testai baigiami sėkmingai. Periodiškai paleidžiami visi anksčiau rašyti automatiniai testai, užtikrinant kad nesugadintas ankstesnis kodas. Radus klaidą, jai taip pat sukuriamas automatinis testas.

Dažniausiai teigiama, kad ribinis programavimas gali veikti tik mažose komandose iki 12 žmonių, tačiau kartais jis sėkminga veikia ir komandose su daugiau nei 100 programuotojų.

Ribinio programavimo metodologijas naudojantys programuotojai dažnai renkasi dinamiškas, greičiau įgalinančias pasiekti reikiamų rezultatų programavimo kalbas.

[taisyti] Kritika

Ribinio programavimo disciplinos esminė kritika -- kad šis procesas sukurtas iš programuotojo perspektyvos, jo tikslas yra suteikti programuotojui komfortiškas darbo sąlygas, tuo aukojant vadovybės ir užsakovų komfortą. Vadovybė negauna aiškaus projekto plano, negali įvertinti projekto trukmės. Užsakovas taip pat neturi fiksuoto projekto biudžeto ir kontraktinių garantijų, kad jo norima programa bus sukurta, bei turi paaukoti projektui vieno savo vertingiausių ir daugiausiai išmanančių darbuotojų ženklią laiko dalį. Užtat programuotojai turi privilegiją dirbti prie kodo, kuris yra norimai aukštos kokybės, kurti programą, kuri atitinka vartotojų poreikius, ir ne tik tuos, kurie buvo aiškūs projekto pradžioje, visada tilpti į terminus ir turėti laisvo laiko po darbo.

Visgi, dažniausiai ribinis programavimas kritikuojamas dėl paviršutiniškų aspektų:

  • Programos kūrimo metu nesukuriama detali dokumentacija.
  • Programuotojai dirba poromis.
  • Prieš pradedant darbą nėra atliekami rimti planavimai.


aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -