תכנות בזוגות

תכנות בזוגות היא טכניקה בפיתוח תוכנה זריז שבה זוג מתכנתים עובדים יחדיו מול תחנת עבודה אחת. האחד מקליד את הקוד בזמן שהשני סוקר כל שורת קוד בזמן שהיא מוקלדת[1]. האדם שמקליד מכונה "הנהג", הוא מחזיק במקלדת ובעכבר ומבצע בפועל את עבודת התכנות. האדם שסוקר את הקוד מכונה "הצופה" או "הנווט". הוא אחראי על איתור תקלות (תחביריות, לוגיות וכו') בקוד, שקילת הכיוון האסטרטגי של העבודה, הוגה רעיונות לשיפור וצופה בעיות עתידיות שתדרושנה מענה. הדבר מאפשר ל"נהג" לרכז את כל תשומת לבו בהיבט הטקטי של השלמת המשימה הנוכחית, תוך כדי שימוש ב"נווט" כרשת ביטחון וכמדריך. שני המתכנתים מחליפים תפקידים ביניהם באופן תכוף. את הזוגות מחליפים מדי פעם (תכנות מעורב – Promiscuous Pairing), כדי שכל המתכנתים יכירו כמה שיותר קוד, ואילו במבט על קוד חדש יהיה מי שיחנוך את התוכניתן שאינו מכיר את הקוד.

יתרונות

מחקרים מסוימים מצאו שמתכנתים העובדים בזוגות מייצרים תוכניות קצרות יותר, עם תכנון טוב יותר ופחות באגים מאשר מתכנתים שעובדים לבד[2]. ידע עובר בין זוג המתכנתים, ככל שהם עובדים יחדיו, הם חולקים ידע על מאפייני המערכת ולומדים טכניקות תכנות אחד מהשני[2][3]. עם תכנות מעורב שבו כל מתכנת עובר בין כל שאר המתכנתים בצוות, ידע על המערכת מתפשט בין כל חברי הצוות וכך מוקטן הסיכון הניהולי כאשר מתכנת עוזב את הצוות[2]. ציוות בדרך כלל גורר רמת משמעת גבוהה יותר וניהול זמן טוב יותר. הסיכוי נמוך יותר לכך שהמתכנתים יוותרו על כתיבת בדיקות יחידה, יבזבזו זמן בגלישה באינטרנט, יבדקו דואר אלקטרוני[4] או ״יעגלו פינות״ כאשר הם עובדים עם בן זוג. בן הזוג שומר על השותף שלו "ישר"[5][6]. אנשים מסתייגים יותר מלהפריע לזוג מאשר להפריע לאדם שעובד לבד[7]. יתרונות נוספים כוללים מורל גבוה יותר[8] וביטחון גדול יותר בנכונות הקוד[2].

חסרונות

אף על פי שבתכנות בזוגות כתיבת הקוד מסתיימת מהר יותר מאשר אצל מתכנת העובד לבד, סך זמן המתכנת (מספר המתכנתים X זמן עבודה) עולה. מנהל צריך לאזן בין השלמה מהירה יותר של העבודה וירידת זמן בדיקות וחיפוש באגים לעומת עלות גבוהה יותר של ייצור קוד. המשקל היחסי של גורמים אלו יכול להשתנות מפרויקט לפרויקט וממשימה למשימה.
התועלת גדולה יותר במשימות שעדיין אינן מובנות למתכנתים, הדורשות יותר יצירתיות, אתגר ותחכום[9]. במשימות פשוטות, שבהן הזוג מבין לגמרי את המשימה, ציוות גורר ירידה בתפוקה. בנוסף, תכנות שנעשה באמצעות שניים יכול לגרום להסבת תשומת לב בשל חוסר ריכוז, בעבור עובדים שמתקשים להתרכז כשהם מצויים עם אדם נוסף.

גרסאות שונות

תכנות בזוגות מרוחק

ידוע גם כתכנות בזוגות מדומה או תכנות בזוגות מחולק. בתכנות בזוגות מרוחק שני המתכנתים נמצאים במיקומים שונים[10] ועובדים באמצעות עורך זמן-אמת משותף, שולחן עבודה משותף או פלאג אין. ציוות מרוחק מציג קשיים שאינם קיימים בציוות פנים אל פנים, כמו עיכובים נוספים בתיאום, תלות גדולה יותר בכלים "כבדי משקל" למעקב אחר משימות במקום כלים "קלי משקל" כמו כרטיסיות אינדקס, ואובדן תקשורת בלתי מילולית הגורם לבלבול ועימותים בשל דברים כמו "אצל מי המקלדת"[11].

תכנות בזוגות פינג פונג

בתכנות בזוגות מסוג זה, ה"צופה" כותב בדיקת יחידה שנכשלת, ה"נהג" משנה את הקוד כך שיעבור את הבדיקה, ה"צופה" כותב בדיקת יחידה חדשה שנכשלת וכן הלאה. המעגל נמשך כל עוד ה"צופה" מסוגל לכתוב בדיקות יחידה שנכשלות. תכנות זה לוקח יותר זמן מאשר שהוערך בתוכנית[12]

ראו גם

קישורים חיצוניים

ויקישיתוף מדיה וקבצים בנושא תכנות בזוגות בוויקישיתוף

הערות שוליים

  1. ^ Williams, Laurie (2001). "Integrating Pair Programming into a Software Development Process" (PDF). 14th Conference on Software Engineering Education and Training: abstract."One of the programmers, the driver, has control of the keyboard/mouse and actively implements the program. The other programmer, the observer, continuously observes the work of the driver to identify tactical (syntactic, spelling, etc.) defects, and also thinks strategically about the direction of the work."
  2. ^ 1 2 3 4 Cockburn, Alistair; Williams, Laurie (2000). "The Costs and Benefits of Pair Programming" (PDF). Proceedings of the First International Conference on Extreme Programming and Flexible Processes in Software Engineering (XP2000).
  3. ^ Williams, Laurie; Kessler, Robert (2003). Pair Programming Illuminated. Addison-Wesley. p. 29. ISBN 0-201-74576-3. "Knowledge is constantly being passed between partners, from tool usage tips to design and programming idioms. The partners take turns being the teacher and the student. Even unspoken skills and habits cross partners."
  4. ^ Williams, Laurie; Kessler, Robert (2003). Pair Programming Illuminated. Addison-Wesley. p. 23. ISBN 0-201-74576-3. "Two people working in a pair treat their shared time as more valuable. They tend to cut phone calls short; they don't check e-mail messages or favorite Web pages; they don't waste each other's time." (Ward's Wiki 1999, contributed by Paul Chisholm).
  5. ^ Beck, Kent (2000). Extreme Programming Explained. Addison-Wesley. pp. 102."Under stress, people revert. They will skip writing tests. They will put off refactoring. They will avoid integrating. With your partner watching, though, chances are that even if you feel like blowing off one of these practices, your partner won't."
  6. ^ Williams, Laurie; Kessler, Robert (2003). Pair Programming Illuminated. Addison-Wesley. p. 24. ISBN 0-201-74576-3."With any software development process there is a constant struggle to get the software engineers to follow the prescribed process. A benefit of pair programming is improved adherence to procedures and standards."
  7. ^ Williams, Laurie; Kessler, Robert (2003). Pair Programming Illuminated. Addison-Wesley. p. 24. ISBN 0-201-74576-3."Others see us already working with someone else, and they leave us alone. The net effect is that we have bigger blocks of uninterrupted time, which is good for our mental state and our progress. It also reduces task-switching, which for some people generates a huge overhead."
  8. ^ Williams, Laurie; Kessler, Robert (2003). Pair Programming Illuminated. Addison-Wesley. p. 21. ISBN 0-201-74576-3. "In our recent Web survey, we asked, 'What have you found beneficial about pair programming?' The single most common response was, 'It's a lot more fun!'"
  9. ^ Lui, Kim Man; Keith C. C. Chan (בספטמבר 2006). "Pair programming productivity: Novice-novice vs. expert-expert" (PDF). International Journal of Human-Computer Studies. 64 (9): 915–925. doi:10.1016/j.ijhcs.2006.04.010. נבדק ב-2008-07-21. {{cite journal}}: (עזרה)
  10. ^ Flor, Nick (2006). Globally distributed software development and pair programming. Communication of the ACM, 49, 57–58.
  11. ^ Schümmer, Till; Stephan Lukosch (בספטמבר 2009). "Understanding Tools and Practices for Distributed Pair Programming" (PDF). Journal of Universal Computer Science. 15 (16): 3101–3125. נבדק ב-2010-04-30. {{cite journal}}: (עזרה)
  12. ^ "PairProgrammingPingPongPattern". c2.com.

Read other articles:

MAKEPOVERTYHISTORY Make Poverty History (abbreviato in MPH, dall'inglese, fai che la povertà diventi storia) fu lo slogan principale di una vasta serie di iniziative portate avanti fra il 2005 e il 2006, in tutto il mondo, da una coalizione internazionale di ONG, gruppi religiosi, sindacati, aziende e celebrità. La campagna nell'insieme faceva capo all'associazione internazionale Global Call to Action against Poverty (GCAP), e si proponeva di convincere i governi di tutto il mondo a intrapr...

 

Пробная монета 50 копеек 1929 года (известна в единственном экземпляре). Пробные монеты СССР — серии пробных и экспериментальных монет, в разные годы выпущенных в Советском Союзе. В СССР чеканилось значительное количество пробных монет[1][2][3]. Причины чеканки бы...

 

Ini adalah nama Korea; marganya adalah Jeon. Jeon So-minFoto Jeon Somin oleh King Kong by StarshipLahir7 April 1986 (umur 37)Busan, Korea SelatanPendidikanDongduk Women's University - Penyiaran dan HiburanPekerjaanAktrisTahun aktif2004–sekarangAgenStarship Entertainment,[1] King Kong by Starship[2]Tinggi168 cm (5 ft 6 in)Nama KoreaHangul전소민 Hanja全昭旻 Alih AksaraJeon So-minMcCune–ReischauerChŏn So-min Jeon So-min (lahir 7 April 1986) ada...

This article includes a list of general references, but it lacks sufficient corresponding inline citations. Please help to improve this article by introducing more precise citations. (March 2013) (Learn how and when to remove this template message) Blåvandshuk is a headland on the North Sea coast of Jutland northwest of Esbjerg, and is the westernmost point of metropolitan Denmark. The Blåvand Lighthouse is the westernmost located building in Denmark. Natural Environment A significant port...

 

  بلدية جاناوبا   بلدية جاناوبا بلدية جاناوبا  خريطة الموقع تقسيم إداري البلد البرازيل  [1] التقسيم الأعلى ميناس جرايس  خصائص جغرافية إحداثيات 15°48′10″S 43°18′32″W / 15.802777777778°S 43.308888888889°W / -15.802777777778; -43.308888888889   [2] المساحة 2٬188٫842 كيلومتر مربع ال...

 

Синелобый амазон Научная классификация Домен:ЭукариотыЦарство:ЖивотныеПодцарство:ЭуметазоиБез ранга:Двусторонне-симметричныеБез ранга:ВторичноротыеТип:ХордовыеПодтип:ПозвоночныеИнфратип:ЧелюстноротыеНадкласс:ЧетвероногиеКлада:АмниотыКлада:ЗавропсидыКласс:Пт�...

American Founding Father and merchant (1734–1806) For other people named Robert Morris, see Robert Morris (disambiguation). Robert MorrisPortrait of Robert Morris, c. 1782, by Charles Willson PealeUnited States Senatorfrom PennsylvaniaIn officeMarch 4, 1789 – March 4, 1795Preceded bySeat establishedSucceeded byWilliam BinghamUnited States Agent of MarineIn officeAugust 12, 1781 – November 1, 1784Preceded byAlexander McDougall (Secretary of Marine)Succeeded byBenjamin S...

 

Country in Central and Southeast Europe For other uses, see Slovenia (disambiguation). Not to be confused with Slavonia or Slovakia. Republic of SloveniaRepublika Slovenija (Slovene)Repubblica di Slovenia (Italian)Szlovén Köztársaság (Hungarian) Flag Coat of arms Anthem: Zdravljica(English: A Toast)Location of Slovenia (dark green)– in Europe (green & dark grey)– in the European Union (green)Capitaland largest cityLjubljana46�...

 

Ne doit pas être confondu avec Jean Malo-Renault ou Nori Malo-Renault. Malo-RenaultMalo-Renault dans sa chambre-atelier (1900 Paris)Naissance 5 octobre 1870Saint-Malo, FranceDécès 19 juillet 1938 (à 67 ans)Mort accidentelle au le Havre, FranceSépulture Saint-Malo, Cimetière de RocabeyNom de naissance Émile Auguste RenaultPseudonyme Malo-RenaultNationalité FrançaisActivités Dessinateur, pastelliste,graveur,illustrateurAutres activités AuteurFormation École nationale supérieu...

War memorial in London Lancaster Gate Memorial Cross The Lancaster Gate Memorial Cross is a grade II listed[1] war memorial in Lancaster Gate, London, commemorating residents of the Metropolitan Borough of Paddington who died fighting in the First World War.[2] The memorial cross was designed by Walter Tapper in the Gothic Revival style and its sculpture was executed by Laurence Arthur Turner. It consists of a column surmounted with a golden cross, below which in eight niches ...

 

This article needs additional citations for verification. Please help improve this article by adding citations to reliable sources. Unsourced material may be challenged and removed.Find sources: Kankagrambhukti – news · newspapers · books · scholar · JSTOR (July 2013) (Learn how and when to remove this message) Kankagrambhukti (Bengali: কঙ্কগ্রামভুক্তি) was an ancient and medieval region/ territory spread across what are ...

 

Una scena del film Our Gang Follies (1937) Simpatiche canaglie (in inglese: Our Gang, conosciuta anche come The Little Rascals o Hal Roach's Rascals) è un serial statunitense di cortometraggi proiettati nei cinema dal 1922 al 1944, incentrato sulle avventure di un gruppo di bambini. Prodotta da Hal Roach, la serie è nota per il fatto di mostrare un comportamento relativamente naturale dei bambini, in quanto Roach e il regista originario Robert F. McGowan lavorarono per catturare le sfumatur...

يفتقر محتوى هذه المقالة إلى الاستشهاد بمصادر. فضلاً، ساهم في تطوير هذه المقالة من خلال إضافة مصادر موثوق بها. أي معلومات غير موثقة يمكن التشكيك بها وإزالتها. (فبراير 2016) الاتحاد الصيني لكرة القدم الاسم المختصر CFA الرياضة كرة القدم أسس عام 1924 (منذ 100 سنة) الرئيس يوان وي مين الا�...

 

For the 2012–2015 team, see Austin Aztex. Soccer clubAustin AztexFull nameAustin Aztex FCNickname(s)Aztex, The RAWFounded2008Dissolved2010 (moved to Orlando)StadiumHouse ParkAustin, TexasCapacity6,500OwnerPhil RawlinsHead CoachAdrian HeathLeagueUSSF Division 2 Professional League2010Regular season: 2nd, USLOverall: 2ndPlayoffs: quarterfinals Home colors Away colors Austin Aztex FC was an American professional soccer team based in Austin, Texas, United States. Founded in 2008,[1] the...

 

Encyclical issued by Pope Leo XIII (1891) This article relies excessively on references to primary sources. Please improve this article by adding secondary or tertiary sources. Find sources: Rerum novarum – news · newspapers · books · scholar · JSTOR (February 2014) (Learn how and when to remove this message) Rerum novarumLatin for 'of revolutionary change in the world' Encyclical of Pope Leo XIIISignature date 15 May 1891SubjectOn capital...

American award for contributions to Humanities AwardNational Humanities MedalAwarded forExceptional Contributions in the HumanitiesLocationWashington, D.C.CountryUnited StatesPresented byPresident of the United StatesFirst awarded1997Websitehttps://www.neh.gov/taxonomy/term/246Ribbon of the medal Stephen Balch, founding president of the National Association of Scholars, receives the National Humanities Medal from U.S. president George W. Bush on November 15, 2007 The National Humanities Medal...

 

Light cruiser of the United States Navy For other ships with the same name, see USS Dayton. USS Dayton (CL-105), 1945 History United States NameDayton NamesakeCity of Dayton, Ohio BuilderNew York Shipbuilding Corporation, Camden, New Jersey Laid down8 March 1943 Launched19 March 1944 Commissioned7 January 1945 Decommissioned1 March 1949 Stricken1 September 1961 FateSold for scrap on 6 April 1962 General characteristics Class and typeCleveland-class light cruiser Displacement Standard: 11,744 ...

 

Ship used to service fast patrol vessels during WWII and the Vietnam War USS Hilo (AGP-2) in 1944 USS Harnett County (AGP-821) in South Vietnamese waters Motor torpedo boat tender is a type of ship used by the U.S. Navy during World War II and Vietnam War. The motor torpedo boat tender's task was to act as a tender in remote areas for patrol boats (PT-boats) and to provide the necessary fuel and provisions for the torpedo boats she was responsible for. The type finds its root in the torpedo b...

American politician (1865–1943) Frederick William Plaisted48th Governor of MaineIn officeJanuary 4, 1911 – January 1, 1913Preceded byBert M. FernaldSucceeded byWilliam T. HainesSheriff of Kennebec County, MaineIn office1907–1909Preceded byFrank J. HamSucceeded byColby GetchellMayor of Augusta, MaineIn office1910–1911Preceded byTrebey JohnsonSucceeded byReuel J. NoyesIn office1906–1909Preceded byCharles S. HichbornSucceeded byTrebey Johnson Personal detailsBorn(1865-07-26)Ju...

 

Place in Kara Region, TogoInareInareLocation in TogoCoordinates: 9°16′N 0°35′E / 9.267°N 0.583°E / 9.267; 0.583Country TogoRegionKara RegionPrefectureBassarTime zoneUTC + 0 Inare is a village in the Bassar Prefecture in the Kara Region of north-western Togo.[1] References ^ Maplandia world gazetteer External links Satellite map at Maplandia.com vte Bassar Prefecture of the Kara RegionCapital: Bassar Afoou Akalede Aketa Akomomboua Alidounpo Apoeydoumpo A...