官僚作風(fēng)之代碼復(fù)查
從infoQ官網(wǎng)看到的一個(gè)文章,“設(shè)計(jì)和代碼審查:是好、是壞還是不堪入目?”,深有感觸,談?wù)勛约旱囊恍┯H身經(jīng)歷,發(fā)發(fā)牢騷吧。原文在http://www.infoq.com/cn/news/2008/03/code-review-antipatterns,建議先看原文。
作者在文章開(kāi)頭提到,“復(fù)查的承諾是改進(jìn)軟件質(zhì)量、確保與標(biāo)準(zhǔn)的一致性,并且可以作為一種有價(jià)值的工具為開(kāi)發(fā)人員服務(wù),但是它們的執(zhí)行方式卻影響到了自身的價(jià)值。在某些組織中,它們可能真的見(jiàn)效;而在另一些地方,可能也不過(guò)是官僚作風(fēng)的一種體現(xiàn)而已。”
最近我們部門(mén)也在進(jìn)行代碼審查,去年年底做過(guò)一次,現(xiàn)在還在做。可是,我很遺憾的發(fā)現(xiàn),我們的工作是更多的是驗(yàn)證了上面的擔(dān)憂(yōu),“不過(guò)是官僚作風(fēng)的一種體現(xiàn)”。
對(duì)照了一下,發(fā)現(xiàn)以下問(wèn)題普遍存在,簡(jiǎn)直就是在點(diǎn)名說(shuō)我們的感覺(jué):
迫害式復(fù)查——編寫(xiě)代碼的開(kāi)發(fā)人員有被攻擊的感覺(jué),甚感恐懼。
樵夫式復(fù)查——一直等到代碼庫(kù)變成龐然大物再進(jìn)行復(fù)查,而這時(shí)要進(jìn)行完整的復(fù)查已經(jīng)變成了難如登天且事倍功半的任務(wù)。
令箭式復(fù)查——將復(fù)查活動(dòng)形式化,只因?yàn)槭枪芾韺哟蛩氵@樣做。
而且由于“樵夫式復(fù)查”的存在,為了讓復(fù)查能進(jìn)行下去,又犯了下面的錯(cuò)誤:
排它性復(fù)查——只拿出代碼中的某一段樣本來(lái)進(jìn)行復(fù)查,把其他重要的部分都棄而不顧。
可以想象這樣的復(fù)查過(guò)程,能有多少效果可言。領(lǐng)導(dǎo)拍拍腦袋,說(shuō)要復(fù)查,要如何如何,天花亂墜的一堆。那我們這些作為下面實(shí)際干活的程序員該如何應(yīng)對(duì)?
這里有一個(gè)實(shí)例:我的一個(gè)同事,性格非常負(fù)責(zé)的,很投入的去進(jìn)行復(fù)查,找出了很多問(wèn)題,發(fā)現(xiàn)了很多需要改動(dòng)的地方,整理出了一封比較中肯的整改方案。郵件發(fā)出去了,我看了,可是我知道領(lǐng)導(dǎo)們和其他開(kāi)發(fā)肯定不會(huì)細(xì)看。這個(gè)事情發(fā)現(xiàn)在去年年底的第一次復(fù)查,這個(gè)郵件果然是石沉大海,渺無(wú)音訊,那次的復(fù)查不了了之,仿佛沒(méi)有發(fā)生。
這個(gè)月,領(lǐng)導(dǎo)似乎又想起來(lái)了,拍拍腦袋又提出復(fù)查。于是下面又動(dòng)起來(lái)了,依然是會(huì)議先行,呵呵。會(huì)議上,依然是洋洋萬(wàn)言,但是,當(dāng)這位同事問(wèn)起,上次的整改建議,大家看過(guò)沒(méi)有? 一切假象都消失了,原來(lái)不過(guò)是領(lǐng)導(dǎo)和大家一起忽悠而已,認(rèn)真的只有他一人。復(fù)查的過(guò)程“據(jù)說(shuō)”還在進(jìn)行,但是結(jié)果,我想用腳趾頭都可以想到的。
我因?yàn)槭诸^有項(xiàng)目需求,沒(méi)有參與上述的復(fù)查過(guò)程,或者說(shuō)是逃過(guò)了。
但是如果我沒(méi)有逃過(guò)呢,我該如何?
當(dāng)領(lǐng)導(dǎo)和大部分人都在忽悠時(shí),我該如何?
你又該如何?
posted on 2008-03-19 10:15 sky ao 閱讀(1285) 評(píng)論(4) 編輯 收藏 所屬分類(lèi): 雜談