14 mas, 2001, 5:27 AM - Lè Robert Martin chita pale, pwogramasyon koute.
XP! Modèl! Eml! Java! C++! OOD! SE! Pou pifò nan 30 dènye ane yo, Martin te travay a plen tan nan sant la nan pratik pwogram modèn. Espesyalite li ak enkyetid yo te egzakteman sa yo ki nan majorite nan silans nan devlopè pwofesyonèl: Kouman pou mwen itilize stl? Ekip nou an ta dwe pratike ekstrèm pwogram? Ki metodoloji analiz se efikas?
Pandan tout karyè li, Bob te gen yon pwogramè travay tèt li, pou enfòme "outreach" li kòm yon otè, editè, pibliye, manadjè,, antreprenè, kritik, ak antrenè.
Semèn pase a, Martin pale ak ITworld.com 'yo Laird Cameron ak lektè nan fowòm lan ITworld.com Entèwvyousou lang yo pwogram de deseni a ap vini ak lòt sijè. Isit la nan yon ekstrè:
ITworld.com: Èske lang fè yon diferans? Anfaz ou sou ijyèn ak kòd lekspresyon se welcome. Poukisa, lè sa a, nou pase tan tèlman k ap travay nan C ak C++? Si yon òganizasyon ap vin jwenn nou ak yon seri aderan nan kondisyon, epi l di ke li vle fè ou konfyans sou sa ki lang ap ede li pi byen satisfè objektif li yo, ki sa ki konsèy ou kapab bay?
Robert Martin: Lang sètènman fè yon diferans; men li kapab nenpòt lang dwe ekri byen.
Mwen pa chonje C oswa C++. Gen sètènman ka kote sa yo se lang ki pi bon pou travay la. DSP kòd, si se pa ekri nan asanble, se pwobableman pi bon ekri nan Hard embedded C. apps realtime yo byen fèt nan C++. Ak apps entewnet anpil oswa MIS/IT apps yo joliman fè nan Java.
Sepandan, mwen panse ke gen yon tandans nan lang ke yo ap vin pi plis ak plis evidan kòm dewoulman an dizan. Mwen panse ke nou wè yon fen nan anfaz sou lang statics tape (kalite ki an sekirite) tankou C++ Java,, èifèl, Pascal, ak ADA. Lang sa yo fòse ou deklare ki kalite varyab anvan ou ka itilize yo.
Kòm deseni sa a ap pwogrese mwen espere wè yon itilizasyon janm ogmante nan lang Dynamics tape, tankou piton, Ruby, e menm smaltolk. Lang sa yo yo souvan refere yo kòm "écritures lang." Mwen panse ke sa a se yon enjistis brit. Li se lang sa yo, ak lang nan kalite yo, ki pral endikap lang endistriyèl nan lanne k'ap vini yo.
Pouki sa mwen panse ke sa a? Paske lang sa yo yo pi fasil rfaktorize. Kisa an plis, yo gen tan nòmalman zewo konpile.
Kòm yon endistri nou te vin amoure nan sekirite kalite-an 80 yo byen bonè. Anpil nan nou te seryezman boule pa C oswa lòt kalite-danjere lang yo. Lè kalite ki an sekirite lang tankou C++ Pascal, ak Ada te vin avan an, nou te jwenn ke tout klas nan erè yo te elimine pa konpilasyon an.
Sekirite sa a rive nan yon pri. Chak varyab te dwe deklare anvan li te itilize. Chak l 'te dwe konsistan ak deklarasyon li yo. Nan sans, se te yon kalite "double-antre Bookkeeping" yo te etabli pou lang yo. Si ou te vle sèvi ak yon (antre premye) varyab ou te deklare li (dezyèm antre). Sa a kont kouran doub te bay konpilasyon vas pouvwa a detekte enkonsistans ak erè sou pati nan pwogramè a, men nan pri a nan antre yo doub, ak nan asire ke konpilasyon la te gen aksè a deklarasyon yo.
Avèk avenman a nan pwosesis ajil tankou pwogram ekstrèm (XP), nou te vin jwenn ke tès inite se byen lwen pi enpòtan pase nou te gen nan premye espere. Nan XP, nou ekri tès inite pou absoliman tout bagay. Vreman vre, nou ekri yo anvan nou ekri kòd la pwodiksyon ki pase yo. Sa a, tou, se yon kalite double-antre Bookkeeping. Men olye de de antre yo yo te yon deklarasyon ak itilizasyon yon, antre yo de se yon egzamen yo ak kòd la ki fè li pase.
Ankò, sa kont kouran doub-elimine anpil erè, tankou erè yo ke yon konpilasyon kalite ki an sekirite va jwenn.Kidonk, si nou ekri tès inite nan chemen an XP, nou pa bezwen sekirite kalite. Si nou pa bezwen sekirite kalite, Lè sa a, frè li vin trè grav. Li se pi fasil chanje yon pwogram ekri nan yon lang Dynamics tape pase sa li se chanje yon pwogram ekri nan yon lang kalite-an sekirite. Ki koute nan chanjman vin tounen yon gwo responsablite si sekirite kalite pa nesesè.
Men, gen yon lòt pri: depans pou konpilasyon ak devlòpman. Si ou vle konpile yon pwogram nan C++, ou dwe bay aksè a konpilasyon nan tout deklarasyon sa yo li bezwen. Deklarasyon sa yo yo tipikman ki te fèt nan dosye header. Dwe chak dosye Header ki genyen yon deklarasyon itilize pa pwogram nan dwe konpile pa konpilasyon an. Si ou gen yon pwogram ak N modil, lè sa a konpile jis youn nan yo ou kapab genyen li nan tout dosye Header n. Ak yon ti panse ou pral reyalize ke sa a vle di ke tan konpile monte ak kare a ki gen nimewo a nan modil.
