<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      現(xiàn)代軟件工程 第四章 【結(jié)對編程】練習(xí)與討論

      4.7.0 結(jié)對編程的練習(xí)題

               地鐵導(dǎo)航和遍歷

      4.7.1  結(jié)對項目的案例和論文

      在現(xiàn)代軟件工程教學(xué)的過程中,同學(xué)們已經(jīng)總結(jié)了不少切身體會。例如:

      總結(jié)1[i]
      那是project到了比較關(guān)鍵的創(chuàng)造階段,整整一天,我們倆椅子靠椅子的坐在電腦前,一邊討論一般coding,那次才真正的體會到結(jié)對真的能夠帶來效率。一整天的coding是容易走神的事,還好有pair在旁邊指導(dǎo),總是不斷在我敲某某變量之前提前告訴我成員變量的名字,數(shù)據(jù)修改時幫忙檢查是否有漏掉的,變量和函數(shù)定義的時候一起為其取名字,感覺有點眼花了,就換了個角色,我也開始對他“指指點點”了,一個人coding,一個人review,確實能減少一些不必要的錯誤,減少一些漏洞,算法實現(xiàn)后一起做些簡單的測試,看到bug了再一起分析,我能明顯的感覺到與以前的個人編程不一樣,我們能比較快的找到bug初始點,并能提出比較的修改方法。特別是當(dāng)看到功能進(jìn)一步實現(xiàn)時,心里確實挺happy,更重要的這份感受有同伴與你一起分享。

      總結(jié)2[ii]
      于是我們進(jìn)行了項目中最關(guān)鍵的一次Pair Programming,我們利用編譯課上機(jī)時間,在機(jī)房里Pair完成了整個項目的類的設(shè)計與程序結(jié)構(gòu)的設(shè)計。我們一起分析出類,然后找屬性,寫方法頭,開始是WG用鍵盤,后來我用。一個明顯的好處是,寫完一條自己不確定的語句,馬上可以跟Pair一起縷一縷思路。一下午下來,感覺甚為清爽,因為終于清楚這個項目的做法了。

      學(xué)術(shù)界、工業(yè)界對結(jié)對編程已經(jīng)有不少研究,請閱讀至少兩篇相關(guān)論文或論文[iii]

      4.7.2  性格對合作的影響

      人和人不一樣,在和別人合作的時候,要注意各人表達(dá)觀點的方式和思考的方式不盡相同。請看網(wǎng)上關(guān)于MBTI的文章[iv],測試并分享各自的MBTI類型,討論不同性格類型對合作有多大的影響, 在合作的各個階段應(yīng)該如何應(yīng)對[v]

      4.7.3  是否需要有代碼規(guī)范

      對于是否需要有代碼規(guī)范[vi],請考慮下列論點并反駁/支持:

      1. 這些規(guī)范都是官僚制度下產(chǎn)生的浪費大家的編程時間、影響人們開發(fā)效率, 浪費時間的東西。
      2. 我是個藝術(shù)家,手藝人,我有自己的規(guī)范和原則。
      3. 規(guī)范不能強(qiáng)求一律,應(yīng)該允許很多例外。
      4. 我擅長制定編碼規(guī)范,你們聽我的就好了。

      代碼復(fù)審檢查表: http://blog.fogcreek.com/increase-defect-detection-with-our-code-review-checklist-example/ 

      4.7.4  代碼復(fù)審的討論

      小飛: 哇,這么多酷的C++ 功能都不能用,那我們還學(xué)什么C++,為了迎接考試,我都把Operator Overload、Polymorphism背得滾瓜爛熟了,為什么不讓我用?

      阿超: 我們寫程序是為了解決問題,不是“為賦新詞強(qiáng)說愁”,這些高級的語言特性,不是不讓用,而是要用得慎重,不要動不動就寫三五個類,一個套一個,要把注意力集中在能否用簡潔的方法解決問題上來。

      小飛: 這么多規(guī)范,我不知道怎么寫第一行程序了。

      阿超: 自我復(fù)審也很重要——把代碼擺在面前,當(dāng)作是別的菜鳥寫的。把你通常問別人的,以及別人會問你的問題都自己問一遍。這樣就能發(fā)現(xiàn)不少問題。

      小飛: 如果開發(fā)者很厲害,那么復(fù)審者就沒有什么作用,也許這些復(fù)審都是走過場?

      阿超: 同理可以推論,如果開發(fā)者很厲害,那么測試人員也沒什么作用,也是走過場,干脆把他們送回家得了。我們敢這樣做么?

      小飛: 這些規(guī)范啊, 建議啊, 都是細(xì)枝末節(jié)的東西, 我們要做世界級的軟件,搞這些東西是不是太小家子氣了?

      阿超: 首先世界級的軟件也會因為小小的紕漏而導(dǎo)致世界級的問題。例如我們常常聽到的安全漏洞和緊急補(bǔ)丁。其次,軟件的開發(fā)是一個社會性的活動, 有它的規(guī)律。其中一個規(guī)律就是“破窗效應(yīng)”(broken windows theory[vii] ,如果團(tuán)隊成員看到同伴們連一些細(xì)小的規(guī)范都不遵守,那自己還要嚴(yán)格執(zhí)行單元測試么?另一個成員看到這個模塊連單元測試都沒有,那他自己也隨意修改算了。這樣下去,整個軟件的量可想而知。

       

      4.7.5 閱讀別人的代碼有多難?

          我們經(jīng)常抱怨閱讀別人的代碼很難, 我們自己在寫代碼的時候,是否考慮到如何讓代碼更易于閱讀和維護(hù)呢?

       

      別人的代碼:

      來源: http://dhruba.name/2012/08/21/do-you-hate-reading-other-peoples-code/ 

       

      http://kb.cnblogs.com/page/192086/

       
      4.7.6  結(jié)對編程中不好的習(xí)慣 - 你經(jīng)歷過么?
      •   喜歡發(fā)號施令的人總是對敲鍵盤的人說:“到末行,加個反括號,然后…”。他不去關(guān)注解決方法和下一步該怎么做,而過度關(guān)注一些編程細(xì)節(jié)。
      •   拼寫糾錯者坐在你旁邊,糾正你輸入的每個錯誤字符。當(dāng)然,他沒有時間來真正的進(jìn)行導(dǎo)航。
      •   深藏不露者僅僅自己敲著代碼而不告訴別人他在做什么。領(lǐng)航員不得不靠自己去弄懂代碼。關(guān)于該用什么方法,該選擇哪種設(shè)計,領(lǐng)航員和實施者之間完全沒有交流。
      •   跳躍很大的人喜歡在代碼中進(jìn)行大范圍的跳躍,這樣領(lǐng)航員不知道進(jìn)行到哪里了。
       
      4.7.7  對合作伙伴的評價
      (這個作業(yè)在學(xué)期結(jié)束的時候做)
      經(jīng)過一個學(xué)期的各種項目,你(一個學(xué)生)和至少6-7 個同學(xué)深入地合作過。  你一定會對大家的合作精神有切身體會。 我們來做一個統(tǒng)計:
      每個學(xué)生在期末填寫一個一維的表格 (沒有并列),  像下面這樣, 把你的小伙伴的合作精神由高到底列出來:
       
      學(xué)生甲
      學(xué)生乙
      。。。
      你自己(標(biāo)明自己的名字)
      學(xué)生丙
      學(xué)生丁
      。。。
       
      最后老師會統(tǒng)計出來,整個學(xué)生集合中,誰的合作精神比較好,誰比較不好 (在同伴的眼里)。 計分方法是:“你自己” 得 0 分;  在 “你自己” 之上一格的同學(xué)得一分; 在“你自己” 之上兩格的同學(xué)得兩分,以此類推。。。  在“你自己” 之下的同學(xué)依次得 -1,-2, -3, ... 分。


      [iii]     參見:http://c2.com/cgi/wiki?PairProgrammingCaseStudy 以及 http://www.thefreelibrary.com/Case+study%3a+using+pair+programming+in+development+of+a+complex+module.-a0246014267 以及 http://www.cs.utexas.edu/users/mckinley/305j/pair-hcs-2006.pdf

      其它論文:

          Williams, Laurie, Robert Kessler, Ward Cunningham, and Ron Jeffries. 2000. “Strengthening the Case for Pair Programming.” IEEE Software 17, no. 4.

       

      [v]     另外請參見 《對性格內(nèi)向者的10個誤解》: http://blog.jobbole.com/12488/


       

      posted @ 2014-07-17 22:03  SoftwareTeacher  閱讀(2318)  評論(7)    收藏  舉報
      主站蜘蛛池模板: 精品素人AV无码不卡在线观看| 国精品无码一区二区三区在线蜜臀| 国产亚洲一区二区三区啪| 柳州市| 九九热在线免费视频观看| 国产成人一区二区不卡| 国产成人8X人网站视频| 老色鬼永久精品网站| 欧美激情综合色综合啪啪五月| 亚洲中文字幕久久精品码| 精品久久久久久无码专区不卡| 国产日韩精品免费二三氏| 尼玛县| 久女女热精品视频在线观看 | 国产睡熟迷奷系列网站| 福利成人午夜国产一区| 免费无码又爽又刺激高潮虎虎视频| 国产97人人超碰CAO蜜芽PROM| 好硬好湿好爽再深一点动态图视频| 成全影视大全在线观看| 开心激情站开心激情网六月婷婷| 久久久亚洲欧洲日产国码二区| 激情人妻自拍中文夜夜嗨| 青青草无码免费一二三区 | 亚洲精品无码日韩国产不卡av| 亚洲人成小说网站色在线 | 国内揄拍国内精品人妻| 成人伊人青草久久综合网| 女人香蕉久久毛毛片精品| 精品国产一区二区三区香| 国产成人一区二区三区免费| 国产亚洲国产精品二区| 亚洲无人区码二码三码区| 69精品丰满人妻无码视频a片| 美女又黄又免费的视频| 国产精品爽爽久久久久久 | 福利一区二区1000| 精品人妻av区乱码| 性男女做视频观看网站| 亚洲一区二区三区av链接| 国产a在视频线精品视频下载|