當(dāng)前位置:首頁 > 嵌入式 > 嵌入式分享
[導(dǎo)讀]執(zhí)行代碼審查是識(shí)別錯(cuò)誤、共享知識(shí)和創(chuàng)建高質(zhì)量產(chǎn)品的有效機(jī)制。不幸的是,大多數(shù)開發(fā)人員寧愿擁有根管道,也不愿意參加代碼審查。他們常常感到痛苦和無所作為。您是否曾經(jīng)嘗試過創(chuàng)建一個(gè)團(tuán)隊(duì)習(xí)慣,即代碼審查,卻發(fā)現(xiàn)它在幾個(gè)星期后就會(huì)失敗?或者你的代碼評(píng)審不會(huì)帶來時(shí)間投資的回報(bào)?

執(zhí)行代碼審查是識(shí)別錯(cuò)誤、共享知識(shí)和創(chuàng)建高質(zhì)量產(chǎn)品的有效機(jī)制。不幸的是,大多數(shù)開發(fā)人員寧愿擁有根管道,也不愿意參加代碼審查。他們常常感到痛苦和無所作為。您是否曾經(jīng)嘗試過創(chuàng)建一個(gè)團(tuán)隊(duì)習(xí)慣,即代碼審查,卻發(fā)現(xiàn)它在幾個(gè)星期后就會(huì)失敗?或者你的代碼評(píng)審不會(huì)帶來時(shí)間投資的回報(bào)?

在今天的帖子中,我們將探索幾個(gè)技巧,以幫助您實(shí)現(xiàn)代碼評(píng)審的現(xiàn)代化,從而獲得開發(fā)人員的支持,并使您更加有效。

提示1-執(zhí)行"離線"代碼評(píng)審

我從來不喜歡傳統(tǒng)的代碼評(píng)論。這些"在線"代碼評(píng)審讓一組開發(fā)人員進(jìn)入同一個(gè)房間來閱讀代碼。應(yīng)該有記錄員、閱讀員和其他各種角色。讀者說明代碼應(yīng)該做什么,并在十幾位同事坐在旁邊聽的時(shí)候逐行閱讀,如果他們能保持清醒的話,偶爾提供反饋。

在線代碼評(píng)審有很多問題。例如,當(dāng)許多團(tuán)隊(duì)成員在一個(gè)房間里時(shí),工作要有效率。你很可能會(huì)被轉(zhuǎn)移話題,被迫不斷地把話題帶回評(píng)論上來。為了獲得成功,你應(yīng)該限制你花多少時(shí)間,每次只花一個(gè)小時(shí)來審查代碼。你應(yīng)該將審查限制在不超過400行代碼的范圍內(nèi),這樣才是最有效的。

這些是很好的指導(dǎo)方針,并已證明是有效的。但是當(dāng)12個(gè)團(tuán)隊(duì)成員每天產(chǎn)生100個(gè)LOC時(shí),你會(huì)怎么做呢?你需要團(tuán)隊(duì)中的每個(gè)人每天進(jìn)行三個(gè)小時(shí)的代碼評(píng)審!在某種程度上,勞動(dòng)力成本和投資回報(bào)是相互競爭的.

在線代碼評(píng)審的另一種選擇是脫機(jī)進(jìn)行評(píng)審。不要讓每個(gè)人都呆在一個(gè)房間里,而是使用你的軟件管理框架進(jìn)行代碼評(píng)審。我最喜歡的流程之一是在合并請(qǐng)求之前不執(zhí)行代碼審查。你和你的團(tuán)隊(duì)?wèi)?yīng)該經(jīng)常承諾和合并。合并請(qǐng)求不是讓團(tuán)隊(duì)成員審查代碼、添加注釋和反饋的最佳時(shí)機(jī)嗎?

在合并請(qǐng)求中,您可以允許隊(duì)友在合并截止日期之前休閑地審查代碼。在代碼合并之前,開發(fā)人員有機(jī)會(huì)進(jìn)行這些改進(jìn)。希望他們能事先驗(yàn)證行為和識(shí)別任何錯(cuò)誤。

提示#2-編寫和評(píng)論"離線"評(píng)論的代碼

在執(zhí)行代碼審查時(shí),通常遵循一個(gè)標(biāo)準(zhǔn)過程。它通常涉及:

· 從代碼模塊的概述開始,了解其目的和功能。

· 逐行審查代碼,檢查語法錯(cuò)誤、邏輯問題和是否符合編碼標(biāo)準(zhǔn)

· 查明潛在的缺陷、安全漏洞或需要改進(jìn)的領(lǐng)域

如果你在代碼評(píng)審的基礎(chǔ)上編寫和評(píng)論你的代碼,你的團(tuán)隊(duì)在合并請(qǐng)求下執(zhí)行離線評(píng)審會(huì)容易得多。例如,你應(yīng)該在你的模塊中記錄你對(duì)模塊及其目的的概述!該函數(shù)的目的是什么,您所做的以這種方式編寫它的決定應(yīng)該記錄在案!

如果你編寫你的代碼以便能夠很容易地對(duì)代碼進(jìn)行審查,你會(huì)發(fā)現(xiàn)你的團(tuán)隊(duì)可以在沒有在同一個(gè)房間的情況下審查代碼。它們可以在管理工具中進(jìn)行注釋,您可以在提交最終合并請(qǐng)求之前收集和修改該工具。

提示3-分配小型評(píng)審團(tuán)隊(duì)

每個(gè)開發(fā)人員都很愿意查閱代碼庫中的每一行代碼。它有助于填寫系統(tǒng)中每個(gè)部分的細(xì)節(jié)。然而,對(duì)于今天的許多嵌入式產(chǎn)品來說,這個(gè)系統(tǒng)太大了,過于復(fù)雜,無法實(shí)現(xiàn)。相反,對(duì)于團(tuán)隊(duì)來說,確保每一行代碼都經(jīng)過審查,但只由某些人進(jìn)行審查,這更有意義。

將代碼審查過程分解為小型團(tuán)隊(duì)是確保產(chǎn)品中每一行代碼都得到審查的一個(gè)很好的方法,但有時(shí)只是由每個(gè)人進(jìn)行。開發(fā)人員A可能會(huì)讓開發(fā)人員B和C審查他們的代碼。同時(shí),開發(fā)人員B由開發(fā)人員C和D評(píng)審等.雖然每個(gè)審查模塊的開發(fā)人員都能提供獨(dú)特的見解,但我們可以通過將每個(gè)代碼的審查者人數(shù)限制在合理的數(shù)量范圍內(nèi),更有效地執(zhí)行代碼審查。

平衡審查特定模塊的團(tuán)隊(duì)的規(guī)模,可以幫助平衡代碼審查的好處,同時(shí)又不會(huì)阻礙開發(fā)團(tuán)隊(duì)。幫助確保團(tuán)隊(duì)仍然在生產(chǎn)代碼,同時(shí)確保生產(chǎn)的產(chǎn)品質(zhì)量合理。

代碼回顧小貼士

在嵌入式軟件中進(jìn)行代碼審查的必要性是至關(guān)重要的,但我認(rèn)為它們是團(tuán)隊(duì)放棄的第一個(gè)也是最簡單的過程。前三條提示讓您深入了解如何簡化流程,同時(shí)從代碼審查中獲得深刻見解和益處。代碼評(píng)審非常重要,我想多給你幾個(gè)建議會(huì)很有意思:

· 培養(yǎng)建設(shè)性的反饋環(huán)境。反饋不是對(duì)開發(fā)人員完成工作能力的判斷。

· 為守則的審查、更正和定稿設(shè)定一個(gè)時(shí)間表。

· 利用人工智能工具提供初步的反饋列表.(這可能是將來代碼評(píng)審的方式)

· 除非代碼通過了測(cè)試,否則不要審查代碼

· 不要審查代碼,除非它已經(jīng)傳遞了行行的代碼樣式

· 讓代碼審查成為你日常習(xí)慣的一部分(只要有合并請(qǐng)求)

· 玩得開心點(diǎn)。代碼評(píng)論是一個(gè)很好的機(jī)會(huì),與你的隊(duì)友積極接觸和學(xué)習(xí)!別以為你什么都知道!

結(jié)論

代碼審查提高了代碼質(zhì)量、可讀性、可維護(hù)性和團(tuán)隊(duì)協(xié)作。傳統(tǒng)的代碼審查方法最好的情況是痛苦的,最壞的情況是浪費(fèi)時(shí)間。不一定非要這樣。

在這篇文章中,我們探討了一些可以用來幫助改進(jìn)代碼評(píng)審的技巧。通過正確地編寫代碼和利用現(xiàn)代協(xié)作工具,您應(yīng)該能夠?qū)崿F(xiàn)代碼審查提供的所有好處,同時(shí)使它們更容易被接受。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競爭優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡稱"軟通動(dòng)力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉