成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

再認識結對編程

原創
開發 開發工具 前端
摘要:結對編程是敏捷軟件開發中的重要實踐活動,然而國內業界對結對編程如何提高軟件開發效率的實現并不明確。作者根據親身敏捷軟件開發過程的經驗,深入探討了其對提高軟件開發效率的實際作用。

摘要

結對編程是敏捷軟件開發中的重要實踐活動,然而國內業界對結對編程如何提高軟件開發效率的實現并不明確。作者根據親身敏捷軟件開發過程的經驗,深入探討了其對提高軟件開發效率的實際作用。

[[72043]] 

正文

結對編程是極限編程(XP)的十二個實踐之一,是指兩位程序員肩并肩地坐在同一臺電腦前合作完成同一個設計、同一個算法以及同一段代碼,并且兩人的角色可以隨時互換。XP認為結對編程能提高軟件開發效率,很多國外軟件企業都在熱衷于結對編程,Facebook程序員肯特•貝克(Kent Beck)表示:“結對程序員之間的交流非常充分,你甚至可以再也不用言語進行交流。你只要簡單描述再結合著手勢就可以。”Grockit***執行官羅伊•吉爾伯特(Roy Gilbert)表示,這種模式已經證明非常成功,他的程序員“正在繼續推廣這種做法。”而IBM還為結對編程推出了協同開發工具ECF。

然而,結對編程在國內確處于一個尷尬的境地,業界對其如何提高軟件開發效率的理論并不明確,也有認為不但不能提高效率,反而會降低效率的觀點。本文作者根據親身經歷,結合查閱國外的很多資料,將結對編程提高軟件開發效率的心得與各位讀者分享。

在正確認識結對編程如何提升軟件開發效率之前,首先要認清對結對編程理解的兩個誤區。

誤區一,兩個人工作效率比一個人高

這個誤區又分為兩種情況。一種是簡單地認為兩個人做事應該更快,的確,日常的生活和工作經驗都告訴我們,一般情況下,兩個人合力做一件事,是比一個人獨立來做要快的。兩個程序員合力寫一個程序,應該比一個人來寫這個程序速度快。但國內商業軟件公司開發的實際情況是,如果有兩個人,那么就要寫兩個程序,而不是只給你一個程序的任務。讓兩個人順序完成兩個程序,效率顯然比每人負責一個程序,并行開發兩個程序來的低。所以這個說法是不符合國情的。

另一種情況是所結對編程時,兩個人可以相互討論來解決遇到的問題,要比一個人冥思苦想的效率高。初看這種說法很有道理,但現實是在商業軟件開發公司中,對于一個熟練的軟件工程師來說,并不是經常遇到難題,大部分時候收到的需求都是能很快想到解決方案的,根本沒有做大量討論的必要。而但碰到疑難問題的時候,還有很多更加有效率的方法,比如直接尋求相關技術專家的幫助,或者召集多位編程達人做一次頭腦風暴等,結對編程在這點上說提高軟件開發效率是很勉強的,作者認為反而是降低效率。

誤區二,防止偷懶,提高效率

這個說法在國外的資料上沒有,但是國內的很多培訓和資料上都有提到過。它說如果單獨工作,在遇到困難的時候,并不是所有人都立刻積極地去解決問題,這時或許會上網和網友聊聊天,看看無關的網站等等。有可能因為工作的打斷,大半天的時間都浪費了。而結對編程有一種相互督促的作用,在一邊工作疲憊狀態不好使,另一邊會起一個鼓勵和激發斗志的作用。

但是這個說法其實只是一廂情愿,由于軟件開發是很講究團隊配合意識的,所以軟件開發公司內的同事關系基本都很融洽的。兩個關系好的同事坐在一起的時候,不但不會互相監督,反而會互相掩護。

以上是作者認為國內業界對結對編程認識的兩個誤區,那么結對編程是如何提高軟件開發效率的呢?

提高代碼走查效率

在當今的軟件工程概念中,代碼走查是一個很重要的過程。代碼走查的目的是提高軟件的質量,以及可維護性,經過走查的代碼是能夠更容易地被項目組其他成員看懂的。然后代碼走查的成本不低,有經驗的軟件工程師都清楚,要一個開發人員完全理解另一個人的代碼是一件不容易的事情,不只是代碼編程習慣的不同會導致閱讀代碼的困難,在復雜的業務邏輯下,不同的開發人員的設計思路也有很大不同的,導致不同的人對代碼的理解有很大差異。所有很多時候代碼走查緊緊只是看看代碼中是否有語法上的錯誤,是否符合編程規范,而要發現業務邏輯上的深層錯誤是很困難的,以至很多浮躁的軟件開發公司甚至直接省略代碼走查這個步驟。

結對編程則正是提高代碼走查效率和質量的非常有效的手段。兩個開發人員坐在一起,共同思考和討論設計思路,輪流編寫程序代碼,輪流走查另一個人在寫的代碼,代碼走查和編碼并行開展,而不是等完全編碼之后才做代碼走查,產生的程序代碼風格是兩個人都能接受的。這樣就不存在要一個人去理解另一個的代碼的問題,實際是兩個人共同理解代碼。而且由于兩個人的思想盲區要遠小于一個人的思想盲區,所以能夠在編碼過程中及時地發現程序在業務邏輯實現上的深層問題,大大提高代碼走查的效率和質量。對于包含代碼走查階段的軟件開發過程而言,結對編程是能大大提升軟件開發效率的。

 

結對編程還有很多優點,比如提高軟件代碼的質量,促進知識傳遞,降低新員工學習成本等。除此之外,作者還發現結對編程還有一個很大的優點,就是能讓敏捷開發所倡導的共同責任理念落到實處。

敏捷開發強調項目是整個項目團隊共同擁有的,所以項目的問題是項目團隊所有成員的責任,而不只是某個人的責任,項目團隊的所有成員應該共同努力來解決和避免所有的項目問題。結對編程則能很好地體現這個理念,在結對編程中兩個人頻繁變換角色,對于程序代碼存在錯誤,就很難分清是誰的責任,甚至很難分清楚哪里的代碼是誰寫的,所以代碼問題至少是結對的兩個人的共同責任,從根本上促進了共同責任的理念。

 

責任編輯:林師授 來源: 51CTO
相關推薦

2013-01-30 10:03:01

結對編程編程語言

2013-11-28 10:22:37

編程結對編程

2010-01-27 09:33:40

結對編程

2013-06-20 09:38:57

2015-09-11 08:59:03

結對編程

2023-01-18 23:20:25

編程開發

2014-03-03 09:48:55

SSHTmux

2013-05-24 09:37:25

結對編程結對編程實踐BitBucket

2023-04-20 18:45:44

2022-10-21 07:50:35

裝飾器Python編程

2015-09-11 09:43:27

分析編程特征

2011-06-03 09:58:03

結對編程程序員

2024-01-11 08:00:00

人工智能開發

2017-10-20 11:07:45

編程代碼編程模式

2011-08-30 10:03:59

軟件工程

2014-03-13 11:08:42

結對編程代碼審查

2015-08-19 13:35:56

編程代碼審查開發者

2010-01-27 09:16:18

結對編程

2012-02-02 10:10:56

2015-09-15 08:46:27

代碼質量結對編程
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 欧美久久一级 | 欧美理论在线观看 | 中文字幕av网 | 欧美视频1区 | 国产高清在线视频 | 天堂久久网 | 精品一区二区三区四区 | 久久久久久蜜桃一区二区 | 中文字幕亚洲国产 | 9999久久| 国产精品欧美一区二区三区不卡 | 日韩成人在线免费视频 | 欧美日韩亚洲一区 | 中文字幕第一页在线 | 亚洲精品18 | 日本一区二区高清视频 | 一区二区三区四区在线视频 | 91精品国产高清久久久久久久久 | 91视频中文 | 久草视频观看 | 久久久久国产一区二区三区四区 | 免费成人在线网站 | 成人av电影网| 嫩草视频网站 | 精品亚洲一区二区三区 | 在线成人精品视频 | 国产福利资源在线 | 91传媒在线播放 | 亚洲精品久久久一区二区三区 | 日日夜夜精品 | 久久国产欧美日韩精品 | 国产欧美一区二区三区在线看 | 成人欧美一区二区三区在线播放 | 97超级碰碰| 爱操影视 | 亚洲一区中文 | 美女午夜影院 | 麻豆一区二区三区 | 日韩一区不卡 | av在线视 | av播播|