自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

代碼質(zhì)量:結(jié)對編程最不重要的理由

開發(fā) 后端 前端
很多人在討論結(jié)對編程的時(shí)候,通常注重的是結(jié)對對代碼質(zhì)量和開發(fā)效率產(chǎn)生的效果。這種觀點(diǎn)認(rèn)為:結(jié)對的成本是單一開發(fā)人員的兩倍,但如果他們能在 X%的時(shí)間內(nèi)交付代碼,并且bug數(shù)量和技術(shù)負(fù)債更少,分別只有單一開發(fā)人員的Y%和Z%,那么結(jié)合衡量X,Y和Z的值,結(jié)對才可能是有意義的。

Braintree對于軟件開發(fā)有一套自己的方法。其中一個(gè)感覺特別有沖擊力的就是有關(guān)結(jié)對編程方面的內(nèi)容。

很多人在討論結(jié)對編程的時(shí)候,通常注重的是結(jié)對對代碼質(zhì)量和開發(fā)效率產(chǎn)生的效果。這種觀點(diǎn)認(rèn)為:結(jié)對的成本是單一開發(fā)人員的兩倍,但如果他們能在 X%的時(shí)間內(nèi)交付代碼,并且bug數(shù)量和技術(shù)負(fù)債更少,分別只有單一開發(fā)人員的Y%和Z%,那么結(jié)合衡量X,Y和Z的值,結(jié)對才可能是有意義的。

雖然這種說法沒錯(cuò),但它忽略了我們之所以結(jié)對最重要的原因:結(jié)對有助于共建一種偉大的企業(yè)文化,是讓新手開發(fā)人員加快速度的***方式,并提供了一種 在開發(fā)團(tuán)隊(duì)中分享知識的很好方式。無論是哪種情況,實(shí)行結(jié)對編程雖然短期內(nèi)會(huì)讓成本小幅走高,但是從長遠(yuǎn)來看,巨大的收益也會(huì)隨之而來。

[[148968]]

結(jié)對意味著合作,這成就了企業(yè)文化的核心

結(jié)對是一種社會(huì)經(jīng)驗(yàn):每天8小時(shí)的工作時(shí)間會(huì)與另一個(gè)開發(fā)人員密切接觸。這意味著,如果你與你結(jié)對的人不能進(jìn)行有效的溝通,不能一起好好地研究工作 中出現(xiàn)的問題,不能愉快地相處,那么你就悲劇了。這也是為什么Braintree在它的面試流程中將溝通能力和文化契合度列為與技術(shù)能力平起平坐的原因: 我們不想要雇用那些不能結(jié)對的人!

招聘流程是企業(yè)文化的基石:沒有正確的優(yōu)秀人才就不可能創(chuàng)造一種充滿活力的合作環(huán)境。在招聘開發(fā)人員時(shí)通過著重強(qiáng)調(diào)文化契合度和溝通能力,可以早早 地表達(dá)一種協(xié)作的姿態(tài)。此外,這還有一定程度的自我選擇范圍:如果開發(fā)人員不想結(jié)對工作,那么他們可能并不適合Braintree這樣的文化氛圍。

短期成本也與此有關(guān)。如果我們決定不雇那種雖然技術(shù)好但不能好好共事的人,那么基本上等于是為了保護(hù)長效的企業(yè)文化而放棄了短期生產(chǎn)力的提高。

結(jié)對讓新手開發(fā)人員加速

在與別人結(jié)對時(shí),你不僅能觀察他們?nèi)绾尉帉懘a,還能看到你的結(jié)對伙伴是如何面對整個(gè)開發(fā)流程的:發(fā)現(xiàn)哪里需要改變,編寫測試,閱讀源代碼,查找文件,配置開發(fā)環(huán)境,等等。并且你還可以知道他們選用哪種工具,以及如何有效使用工具。

初級開發(fā)人員絕對能從中獲益匪淺。更重要的是,當(dāng)輪到他們操作的時(shí)候,他們還可以從他們的前輩那里得到連續(xù)的反饋。這是我的親身經(jīng)歷——那個(gè)時(shí)候我 剛加入Braintree,只有大概一年的專業(yè)開發(fā)經(jīng)驗(yàn),在大學(xué)里也沒有學(xué)過多少計(jì)算機(jī)科學(xué)知識。但是在這工作三個(gè)月后,我的工作流程得到了徹底的改變。

從長遠(yuǎn)來看,高級開發(fā)人員同樣受益:這已經(jīng)是一個(gè)老生常談的話題,但在教學(xué)的同時(shí)的確可以加深自己的理解。也就是說,初級開發(fā)人員和高級開發(fā)人員結(jié) 對也有相關(guān)的短期成本與長期效益。一對高級開發(fā)人員固然比初級和高級開發(fā)人員結(jié)對的進(jìn)展更快,特別是工作于高級開發(fā)人員熟悉的代碼庫的時(shí)候。然而,與新員 工結(jié)對能使得新員工快速上手。

結(jié)對將知識轉(zhuǎn)移置于開發(fā)流程的中心

除了基本的編程能力,開發(fā)人員需要大量的信息以便于有效地運(yùn)作。這些信息包括領(lǐng)域知識,基本代碼知識,公司約定認(rèn)識,檢查的***慣例,等等。任何值得認(rèn)真對待的開發(fā)方法都需要有一種能夠在團(tuán)隊(duì)中傳播知識的好方法。

結(jié)對使得分享成為理所當(dāng)然。問問題不再成為中斷的攔路石——不斷地與結(jié)對伙伴溝通是正常工作流程的一部分。

除此之外,還有數(shù)以百計(jì)的開發(fā)小技巧能從學(xué)自結(jié)對伙伴:命令行快捷鍵,vim技巧,結(jié)合vim和tmux的方法,等等等等,不計(jì)其數(shù)。

結(jié)對的持久戰(zhàn)

Braintree的開發(fā)風(fēng)格非常強(qiáng)調(diào)長遠(yuǎn)考慮。測試驅(qū)動(dòng)開發(fā);比起機(jī)智,代碼的編寫更強(qiáng)調(diào)可維護(hù)性和可讀性;盡可能緩慢的徹底深入發(fā)展。結(jié)對是發(fā) 展工作的一部分:它提供了一種能每天為開發(fā)團(tuán)隊(duì)提供小投資的方法。我們以這種方式工作,某種程度上是因?yàn)槲覀儗懙闹Ц短幚碥浖槲覀兊目蛻籼峁┝巳蝿?wù)關(guān)鍵 型服務(wù)。而且也是因?yàn)槲覀冋J(rèn)為,從長遠(yuǎn)來看,這些做法會(huì)有大大的回報(bào)。

如果你對上述觀點(diǎn)產(chǎn)生了共鳴,歡迎發(fā)表你的見解。

譯文鏈接:http://www.codeceo.com/article/code-qulity-pair-programming.html
英文原文:Code Quality is the Least Important Reason to Pair Program

 

責(zé)任編輯:王雪燕 來源: 碼農(nóng)網(wǎng)
相關(guān)推薦

2015-09-15 08:46:27

代碼質(zhì)量結(jié)對編程

2021-04-14 17:04:34

計(jì)數(shù)排序數(shù)組

2014-03-17 09:31:36

Linux桌面

2013-05-20 14:31:42

Google IO大會(huì)Android分裂無解

2025-04-07 08:00:00

大數(shù)據(jù)數(shù)字化數(shù)據(jù)治理

2011-11-30 09:07:13

云計(jì)算

2011-04-18 17:36:11

操作系統(tǒng)李彥宏

2017-03-17 15:49:16

群暉,備份、集中化備份

2010-06-22 15:35:03

UPS解決方案

2009-11-25 10:46:10

2013-12-18 14:17:00

操作系統(tǒng)邊緣化移動(dòng)設(shè)備

2020-03-25 11:27:56

薪資標(biāo)準(zhǔn)互聯(lián)網(wǎng)

2017-10-20 12:33:46

2017-12-21 08:09:13

程序員技術(shù)學(xué)習(xí)

2010-04-07 10:40:34

陳曉薇

2013-06-20 09:38:57

2015-08-04 17:03:52

支付寶微信

2015-09-11 08:59:03

結(jié)對編程

2013-01-30 10:03:01

結(jié)對編程編程語言

2013-05-06 10:22:07

結(jié)對編程敏捷開發(fā)敏捷管理
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號