MyException - 我的異常網
當前位置:我的異常網» 研發管理 » 代碼評審不為人知的好處

cf手游荒岛特训如何合成南瓜头:代碼評審不為人知的好處

cf手游刷枪永久枪软件 www.yqwdk.icu  網友分享于:2018-06-06  瀏覽:0次
代碼評審鮮為人知的好處

cf手游刷枪永久枪软件 www.yqwdk.icu 代碼評審究竟有什么好處?

在前期發現問題,提高軟件質量,降低軟件成本。

事實上,代碼評審的好處遠不止這些。有些項目經理或者開發人員不愿意多提評審,Coding的過程包含的內容非常豐富,如果只把一個字符一個字符地敲代碼叫做Coding,未免悲哀了一點。優秀的項目,編碼階段實際敲代碼的時間不會很長;優秀的程序員,大部分時間都用來思考了。

?

我來說說代碼評審其它鮮為人知的好處,興許能改變某些同學的看法呢。

?

增加閱歷,學習別人代碼的可貴之處

和英語學習是一個道理,如果只聽一種純正口音的英語,英文反而不容易學好,我們需要閱讀各種營養的代碼,廣泛閱讀能幫助開闊眼界,積累一些好的設計思路,甚至提高閱讀惡心代碼的免疫能力。

?

對工程和業務邏輯的熟悉

和盲目地走讀代碼不同,代碼評審之前起碼是對大致的業務和實現有一定了解,是帶著問題去看代碼的,更容易幫助自己理清代碼實現,熟悉業務邏輯。

?

大聲地鼓勵,寬容地討論,知識共享,給團隊一個互相學習進步的氛圍

代碼評審不是挑錯,看到優秀的代碼,要說出來,讓大家都看得到,這是那些優秀代碼的創造者們應得的獎勵。團隊中的其他人聽到了表揚,閱讀了代碼,從身邊最實際的例子當中收獲了成長。

評審過程中,提出的問題未必最終被接受,但是在問題確認的辯駁、爭論過程中,很容易見到思維的火花,所謂“道理越辯越明”,一個團隊需要有這樣充滿生氣的討論。

?

及時識別出代碼設計的缺陷,找到需要重構的地方

有一種觀點很可怕:寫最終的產品代碼才是王道,不把最終的代碼敲出來,程序員不放心,項目經理不放心,老大們更不放心——“你們的產出率是多少行/天???”

軟件的精華應當在設計,如果說做軟件是一種充滿創造性的勞動,那么思考能力正是真正將優秀的軟件開發和簡單的體力勞動所區分開的核心因素。遺憾的是具備相當思考特質的程序員越來越不好找了,一定程度上,敏捷和TDD甚至助長了這種輕視前期設計階段的情形(敏捷和TDD本身是沒有問題的,問題終歸來自實踐的“人”);“先寫唄,開發的過程中,如果發現明顯不合理的地方,再重構唄!”,在很多情況下,重構、尤其是一定規模下的重構很可能會成為噩夢。

代碼評審不能完全解決這個問題,但可以通過評審發現設計方面的問題,可以反思設計的疏漏,提高團隊成員的設計能力。

?

找出安全、性能、依賴和兼容性等測試不易發現的問題

把問題的尋找全部依賴于測試是可怕的,同等發布質量的前提下,測試發現問題的比重越小,修改的成本也就越小。在很多公司,都沒有單個版本的專職測試(但可能有專職負責若干個產品集成的測試人員),但這不意味著版本質量差,事實上,很可能每一個開發人員都可以是一個優秀的測試人員;而更可能的情況是,Story轉測試之后軟件接近商用,發現的問題并不多。等到上線,代碼有多個人閱讀,他們對check in的代碼共同保證質量、承擔責任,遠好過出了問題對某一個人的追查。

?

評審新員工的代碼,給新員工引導一個實實在在的方向

犯過的錯誤容易記憶,具體的問題容易記憶,對于新員工來說,給他們代碼中肯的評價,可以幫助他們上路。比如我們常說不要過度設計,可是怎么樣才算過度設計,如果給新員工指出他代碼中這樣一個實際的問題,他一定不容易忘記。

?

發揮團隊中“牛人”的作用

這些團隊中的“牛人”可不見得寫得了所有的代碼,但是他們可以評審絕大多數代碼,把他們的作用發揮出來。他們未必要去審查每一條上庫的語句,但是他們需要保證上庫代碼的質量,評審,給項目的質量帶來事半功倍的提升。

文章評論

軟件開發程序錯誤異常cf手游刷枪永久枪软件Copyright © 2009-2015 MyException 版權所有