0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

快快建好質(zhì)量墻吧,它既保護(hù)了程序員,也保護(hù)了項目

華為開發(fā)者社區(qū) ? 來源:華為開發(fā)者社區(qū) ? 作者:華為開發(fā)者社區(qū) ? 2020-09-23 13:52 ? 次閱讀

導(dǎo)語

本文為《Quality Wall to Protect Developers Against Stress and Fear》文章的內(nèi)容摘要,1200字帶你領(lǐng)略質(zhì)量墻的魅力,完整版本,敬請期待。

作者:Yegor Bugayenko譯者:徐毅前言

程序員到底應(yīng)該為所寫軟件的質(zhì)量擔(dān)負(fù)多大的責(zé)任?有人認(rèn)為程序員應(yīng)該為產(chǎn)品負(fù)責(zé),也有人認(rèn)為程序員的主要責(zé)任是交付速度,項目質(zhì)量是項目要去考慮的問題。

程序員編寫軟件的過程中,會創(chuàng)造有缺陷代碼或“Bug”。軟件項目的主要目標(biāo)之一就是在提升質(zhì)量的同時減少Bug數(shù)量。手工測試和同行評審等常用方法都是等代碼里已經(jīng)出現(xiàn)了Bug才去尋找,過于被動。采取預(yù)防措施提升代碼質(zhì)量的代價更低,也更為人所青睞。

“招募更好的程序員”是最為流行的一種方法,我們都認(rèn)為更專業(yè)、更昂貴和更有才干的程序員能夠?qū)懗鰶]有錯誤的代碼。然而,真相并非如此。正如Kaner等人所言,“程序員相互之間存在著巨大的差異,但沒有誰的工作是不會出錯的”。

責(zé)備那些產(chǎn)出了Bug的程序員們,是另一種同樣備受質(zhì)疑的方法。其負(fù)面影響廣為人知,弊遠(yuǎn)大于利,導(dǎo)致程序員們壓力越來越大、工作越來越慢、拋出更多代碼,被稱之為“恐懼驅(qū)動開發(fā)”。但正如Evans知名博文“恐懼讓你成為更糟的程序員”所言,對軟件開發(fā)來說,恐懼只會讓我們事與愿違。

打造“質(zhì)量墻”

所有程序員都會犯錯,但他們不應(yīng)該因此而被責(zé)罰。該如何解開迷局呢?該怎么做才能夠減少代碼缺陷、同時允許程序員隨意犯錯呢?辦法是有的。別為了代碼質(zhì)量責(zé)怪他們,讓項目去關(guān)注質(zhì)量、讓程序員能夠無所畏懼地全速編碼,效果好得不是一點點。辦法就是打造一面強大的、自動化的“質(zhì)量墻”,守護(hù)其代碼基。墻越強大,程序員就越覺得安全。

首先,他們將在自己的“特性分支”上修改代碼和犯錯誤;其次,向主代碼基提出合并代碼變更,建議采取拉取請求的方式;第三,質(zhì)量墻將驗證這些變更,如果發(fā)現(xiàn)任何新錯誤就會拒絕合入;最后,只要作者移除掉所有錯誤,質(zhì)量墻就會合入這些變更。

如何構(gòu)建這堵“墻”

軟件項目可以采取如下一些技術(shù)性和組織性的措施來構(gòu)建這樣的質(zhì)量墻,并保護(hù)源代碼不被程序員們所破壞。

自動化構(gòu)建

單元測試和集成測試

強制覆蓋率閾值

變異覆蓋率閾值

強制靜態(tài)分析

多步驟代碼評審

只讀主干分支

“質(zhì)量墻”讓程序員快速交付,保護(hù)項目

讓程序員在合并前備受折磨的障礙還有很多。Nygard在他的《發(fā)布!軟件的設(shè)計與部署》書中給出了建議。測試失???拒絕。Lint有告警?拒絕。集成測試導(dǎo)致構(gòu)建失?。烤芙^。換句話說,拒絕變更的動作越快速越便宜,給項目帶來的好處也越大。問題是,如果流程和代碼倉有這么多限制,一個程序員怎么做到更快速地交付呢?如果質(zhì)量墻已經(jīng)罩住整個項目,那么如下這些技巧,不管誰用都能受益:

提交更小變更

以退為進(jìn)

別害怕搞破壞

隔離變更

如果項目和程序員之間存在利益沖突,那就能創(chuàng)造出高質(zhì)量的產(chǎn)品并迅速發(fā)展。項目可以強化質(zhì)量,而程序員也可以提交代碼向前進(jìn)、快速頻繁地完成變更。但不幸的是,大多數(shù)項目都與之背道而馳,他們將質(zhì)量控制權(quán)交予程序員,滿心期盼程序員們會“不作惡”。而這會導(dǎo)致沮喪、痛苦、對犯錯的持久恐懼、長時間的拖延、責(zé)備和羞辱。最終,項目及其程序員兩敗俱傷。

快快建好質(zhì)量墻吧,它既保護(hù)了程序員,也保護(hù)了項目。

原文標(biāo)題:這本書終于有人翻譯了!“程序員到底應(yīng)該為所寫軟件的質(zhì)量擔(dān)負(fù)多大責(zé)任?”

文章出處:【微信公眾號:華為開發(fā)者社區(qū)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 程序員
    +關(guān)注

    關(guān)注

    4

    文章

    948

    瀏覽量

    29736
  • BUG
    BUG
    +關(guān)注

    關(guān)注

    0

    文章

    155

    瀏覽量

    15635

原文標(biāo)題:這本書終于有人翻譯了!“程序員到底應(yīng)該為所寫軟件的質(zhì)量擔(dān)負(fù)多大責(zé)任?”

文章出處:【微信號:Huawei_Developer,微信公眾號:華為開發(fā)者社區(qū)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    第五屆長沙·中國1024程序員節(jié)開幕

    據(jù)官方媒體報道,10月24日;? 第五屆長沙·中國1024程序員節(jié)在湖南湘江新區(qū)開幕;本次中國1024程序員節(jié)以“智能應(yīng)用新生態(tài)”為主題。設(shè)置有岳麓對話、技術(shù)英雄會、主題峰會及賽事、展覽等活動,一場
    的頭像 發(fā)表于 10-25 15:42 ?58次閱讀

    程序員節(jié)視頻創(chuàng)意大賽,用串口屏贏取千元大獎

    10月24日,程序員專屬的節(jié)日里,我們盛大開啟“程序員節(jié)視頻創(chuàng)意大賽”特別活動!這不僅是一場視覺的盛宴,更是智慧與創(chuàng)意的璀璨碰撞。我們誠摯邀請每一位程序員及編程愛好者,拿起你的鏡頭,記錄下那些平凡日子中的不凡瞬間,讓編程的魅力與
    的頭像 發(fā)表于 07-08 10:38 ?72次閱讀
    <b class='flag-5'>程序員</b>節(jié)視頻創(chuàng)意大賽,用串口屏贏取千元大獎

    程序員節(jié)視頻創(chuàng)意盛宴,邀您共襄盛舉!

    10月24日,程序員專屬的節(jié)日里,我們盛大開啟“程序員節(jié)視頻創(chuàng)意大賽”特別活動!這不僅是一場視覺的盛宴,更是智慧與創(chuàng)意的璀璨碰撞。我們誠摯邀請每一位程序員及編程愛好者,拿起你的鏡頭,記錄下那些平凡日子中的不凡瞬間,讓編程的魅力與
    的頭像 發(fā)表于 07-04 09:00 ?67次閱讀
    <b class='flag-5'>程序員</b>節(jié)視頻創(chuàng)意盛宴,邀您共襄盛舉!

    STM32G0如果只執(zhí)行寫保護(hù)編程時,先擦除選項字節(jié),此時讀保護(hù)字節(jié)是FF,那是不是就讀保護(hù)生效?

    如果只執(zhí)行寫保護(hù)編程時,先擦除選項字節(jié),此時讀保護(hù)字節(jié)是FF,那是不是就讀保護(hù)生效?程序再修改為A5,會不會就引起FLASH整塊擦除?不想
    發(fā)表于 05-20 08:17

    STM32F0設(shè)置FALSH寫保護(hù)后不能下載程序是什么原因?qū)е碌模?/a>

    開發(fā)環(huán)境用KEIL5+JLINK進(jìn)行程序調(diào)試,STM32F0根據(jù)選項字節(jié)進(jìn)行FALSH寫保護(hù)后,下次不能再程序下載,現(xiàn)已用STM32 ST-LINK Utility進(jìn)行解除。能不能在
    發(fā)表于 04-18 07:51

    適者生存,程序員最終會流向哪……

    程序員沒有永遠(yuǎn)的護(hù)城河!!就目前的互聯(lián)網(wǎng)大環(huán)境來看,it行業(yè)已經(jīng)是……
    的頭像 發(fā)表于 03-11 17:11 ?340次閱讀
    適者生存,<b class='flag-5'>程序員</b>最終會流向哪……

    薪資高、青春飯,是不是程序員=青樓?

    花期太短。技術(shù)迭代快,年齡大容易失業(yè)。 就這幾年的互聯(lián)網(wǎng)環(huán)境而言,不管是前端、Java、Android開發(fā)等等行業(yè)。已經(jīng)感受到程序員不是太卷就是工作難找,薪資過低。以前高工現(xiàn)在拿著中低程序員薪資
    發(fā)表于 03-06 21:32

    瑞薩Flash程序員V3 發(fā)布說明

    電子發(fā)燒友網(wǎng)站提供《瑞薩Flash程序員V3 發(fā)布說明.pdf》資料免費下載
    發(fā)表于 02-19 09:37 ?1次下載
    瑞薩Flash<b class='flag-5'>程序員</b>V3 發(fā)布說明

    2024程序員的未來方向如何走?還看今朝

    這幾年的IT行業(yè)想必大家已經(jīng)感受到了,Android、Java、前端等等程序員都經(jīng)歷大廠……
    的頭像 發(fā)表于 02-02 09:45 ?736次閱讀
    2024<b class='flag-5'>程序員</b>的未來方向如何走?還看今朝

    1月18號“純鴻蒙”千帆啟航,程序員預(yù)備!

    的用戶。從而導(dǎo)致Android、ios等市場減少,開發(fā)從業(yè)者會逐漸減少。而我們程序員現(xiàn)在最好的辦法就是進(jìn)軍“鴻蒙圈”,鴻蒙生態(tài)不僅包括鴻蒙應(yīng)用層,還有鴻蒙生態(tài)圈:智能家居、車載、家電、數(shù)碼、硬件等等開發(fā)
    發(fā)表于 01-16 22:13

    功放保護(hù)怎么消除:解決方法與預(yù)防措施

    功放保護(hù)怎么消除:解決方法與預(yù)防措施 功放保護(hù)是指功放器在工作中受到一些不正常的因素影響,從而觸發(fā)保護(hù)機制,停止輸出音頻信號。功放器通常會保護(hù)
    的頭像 發(fā)表于 12-29 14:58 ?6792次閱讀

    程序員表白程序

    電子發(fā)燒友網(wǎng)站提供《程序員表白程序.rar》資料免費下載
    發(fā)表于 11-21 10:41 ?16次下載
    <b class='flag-5'>程序員</b>表白<b class='flag-5'>程序</b>

    嵌入式程序員應(yīng)知道的幾個基本問題

    電子發(fā)燒友網(wǎng)站提供《嵌入式程序員應(yīng)知道的幾個基本問題.pdf》資料免費下載
    發(fā)表于 11-20 11:21 ?0次下載
    嵌入式<b class='flag-5'>程序員</b>應(yīng)知道的幾個基本問題

    智能低代碼洪流涌動程序員節(jié),華為云 Astro 觸發(fā) 1024 的乘法效應(yīng)!

    ? 從人工智能至量子計算,再到最新的云原生技術(shù),越來越多的榮耀被程序員斬獲。今年 1024 程序員節(jié),華為云 Astro 向全民致敬:「低代碼高產(chǎn)出?拓荒數(shù)字化版圖——人人皆是程序員」,為全球工程師
    的頭像 發(fā)表于 11-13 09:39 ?415次閱讀
    智能低代碼洪流涌動<b class='flag-5'>程序員</b>節(jié),華為云 Astro 觸發(fā) 1024 的乘法效應(yīng)!

    STM32用串口下載后,不小心寫保護(hù)和讀保護(hù),如何解鎖?

    STM32用串口下載后,不小心寫保護(hù)和讀保護(hù),如何解鎖? 在STM32的開發(fā)過程中,有些時候可能會不小心開啟保護(hù)和讀
    的頭像 發(fā)表于 10-29 17:24 ?4340次閱讀