日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不

當前位置:首頁 > 科技  > 軟件

業務開發做到零 bug 有多難?

來源: 責編: 時間:2024-03-18 09:37:34 161觀看
導讀大家好,我是樹哥,好久不見啦。作為一個工作了 10 多年的開發,寫業務代碼總是寫了不少的。但你想過做到零 bug 嗎?我可是想過的,畢竟我還是有點追求的。不然每天都是渾渾噩噩地過,多沒意思啊。大概在一年多前,我給自己立下一

大家好,我是樹哥,好久不見啦。qmm28資訊網——每日最新資訊28at.com

作為一個工作了 10 多年的開發,寫業務代碼總是寫了不少的。但你想過做到零 bug 嗎?我可是想過的,畢竟我還是有點追求的。不然每天都是渾渾噩噩地過,多沒意思啊。qmm28資訊網——每日最新資訊28at.com

大概在一年多前,我給自己立下一個目標 —— 盡量將自己經手的業務需求做到零 bug。不試不知道,一試嚇一跳,原來零 bug 還真的還不容易。今天,樹哥就跟大家分享關于「業務開發零 bug」的一些思考。qmm28資訊網——每日最新資訊28at.com

要做到業務開發零 bug,其實挺難的。這涉及到非常多方面,有些方面可能還不只是你能控制的,例如:產品 PRD 詳盡程度,產研組織的穩定性等等。經過一段時間的思考與摸索,我自己總結出一些影響因素,分別是:qmm28資訊網——每日最新資訊28at.com

  1. 產品需求文檔的清晰程度
  2. 需求的復雜程度
  3. 開發人員的細心程度
  4. 開發人員是否詳細自測過
  5. 開發人員對項目的熟悉程度
  6. 開發人員開發時間是否充足

針對上面說到的影響因素,我們一個個詳細聊聊。qmm28資訊網——每日最新資訊28at.com

需求文檔清晰程度

對于研發、測試人員來說,他們獲取信息的源頭就是產品的 PRD 文檔。因此,需求文檔是否寫得清晰、明確,就顯得非常重要。qmm28資訊網——每日最新資訊28at.com

如果產品自己對功能都不了解,那么輸出的需求文檔肯定「缺斤少兩」,到時候就是邊開發邊補充需求,甚至是在測試過程中補充需求。遇到這種情況,想要做到零 bug 真的非常難。qmm28資訊網——每日最新資訊28at.com

因此,清晰明確的需求文檔,是我們實現業務開發零 bug 的重要前提。如果這個前提保證不了,那要做到零 bug 真的很難。畢竟想做成啥樣都不知道,程序員又不是神仙,咋能猜出你想要什么。但這塊內容,更多是對于產品人員專業能力的要求,開發人員無法控制。qmm28資訊網——每日最新資訊28at.com

在一些公司,會再需求評審之前先對需求文檔進行一次初審,篩除那些有明顯重大問題的需求,這樣可以減少一部分劣質需求。qmm28資訊網——每日最新資訊28at.com

但初審的作用還是有限的,它沒辦法對功能的細節做較多的判斷。很多時候恰恰就是一些功能細節的缺失,導致了一些 bug 的誕生。qmm28資訊網——每日最新資訊28at.com

需求的復雜程度

需求的復雜程度,對于實現業務開發零 bug 也有很大的影響。舉個簡單地例子:一個改文案的需求,和一個完全重新做的功能。qmm28資訊網——每日最新資訊28at.com

這樣的兩個需求,其復雜程度差別很大,肯定是改文案的需求實現業務開發零 bug 的難度低很多。對于一個完全重新做的功能,要做到完全零 bug,對于開發人員的要求非常高。qmm28資訊網——每日最新資訊28at.com

對于越復雜的項目,零 bug 的可能性就越低。因此,很多項目為了追求產出功能的高質量,會采用將功能點拆得非常細的方式,來減少單個需求的復雜度。qmm28資訊網——每日最新資訊28at.com

筆者公司在去年做過這個嘗試,確實是可以較大地提高產出功能的質量。qmm28資訊網——每日最新資訊28at.com

細心程度

前面說到需求文檔的清晰程度很重要,這取決于產品人員對于業務的理解程度,以及對于對于功能的熟悉程度。開發人員的細心,就像是一個質檢關卡一樣,在開發之前就對產品的需求內容進行詳盡的思考與提問。qmm28資訊網——每日最新資訊28at.com

對于粗心的開發人員來說,其可能不看需求文檔就直接參加需求評審,等到開發的時候邊寫代碼邊看需求文檔,其寫得代碼也是一邊熟悉需求一邊改。這樣寫出來的系統功能是比較差的,沒有一個統一、全局的設計與思考,很容易在細節處發生問題。qmm28資訊網——每日最新資訊28at.com

一個細心的開發人員,其會在評審之前就詳細閱讀需求文檔,甚至會前前后后翻閱好幾次。他甚至會逐字逐句地閱讀,弄懂每個文字、句子的意思,甚至有時候會讓你覺得他是在玩文字游戲(但不得不說,確實有必要細致一些)。qmm28資訊網——每日最新資訊28at.com

最后會聯系上下文思考功能的合理性。如果發現一些不合理的地方,他會積極與產品溝通反饋,以確保其對于需求的理解,與產品經理對于需求的理解是一致的。qmm28資訊網——每日最新資訊28at.com

通過對比,我們知道細心的開發人員對于產品經理來說,是一個莫大的幫助,可以幫助他查漏補缺,讓其對于功能的考慮更加細致、嚴謹。qmm28資訊網——每日最新資訊28at.com

這里的開發人員不僅僅指的是后端開發人員,也包括前端開發、移動端開發,他們都會從不同角度提出問題。qmm28資訊網——每日最新資訊28at.com

對于后端開發人員來說,他們可能會提出性能問題。對于前端開發以及移動端開發同學,他們可能會提出交互問題、樣式統一等問題。qmm28資訊網——每日最新資訊28at.com

簡單地說,細心的開發人員可以彌補需求文檔的缺陷,從而讓大家對于需求的理解更趨于一致,從而減少 bug 的發生。因此,開發人員的細心程度也是決定業務開發能否實現零 bug 的關鍵因素!qmm28資訊網——每日最新資訊28at.com

是否詳細自測過

即使寫過 10 多年代碼的開發人員,刷 Leetcode 也不敢說 bug free 一把過,對于更加復雜的業務代碼更是如此。因此,要做到業務開發零 bug,其中一個很重要的操作便是 —— 自測。qmm28資訊網——每日最新資訊28at.com

自測可以幫你再次檢查可能出現的問題,從而提高零 bug 的概率。對于我而言,我習慣性在自測的時候再次對照一遍需求文檔,從而避免自己遺漏一些功能的細節點。qmm28資訊網——每日最新資訊28at.com

對于自測而言,業界有很多種自測方法,包括:單測、集成測試、功能測試。一般情況,建議自己選擇適合自己的自測方法。qmm28資訊網——每日最新資訊28at.com

很多時候,功能測試是相對來說性價比較高的方式。除此之外,自測的詳細程度也根據實際情況有所不同,例如有些人只會測試正常情況,但有些老手會測試一些邊界情況、異常情況。qmm28資訊網——每日最新資訊28at.com

毫無疑問,你越能像測試人員一樣測試,你的提測質量肯定就越高,bug 當然也就越少。qmm28資訊網——每日最新資訊28at.com

對項目的熟悉程度

這里說的項目熟悉程度,既指技術層面的熟悉程度,也指業務功能層面的熟悉程度。qmm28資訊網——每日最新資訊28at.com

技術層面的熟悉程度,指的是項目之間是用什么技術棧搭建的,你對這些技術是否都熟悉。舉個很簡單的例子,項目中采用了微服務的方式進行調用,那么你是否清楚是什么微服務調用?qmm28資訊網——每日最新資訊28at.com

如果采用了 ElasticSearch 進行搜索,那么你是否對 ElasticSearch 有一些了解,知道一些基本使用及最佳實踐?等等。qmm28資訊網——每日最新資訊28at.com

這些算是技術層面的熟悉程度,你對這些越熟悉,你在技術層面發生問題的可能性就越小。qmm28資訊網——每日最新資訊28at.com

業務功能層面的熟悉程度,指的是你對項目其他模塊的業務是否熟悉。例如你經常負責 A 模塊的功能,你對 A 模塊肯定很熟悉。qmm28資訊網——每日最新資訊28at.com

但下個迭代你就要去做 B 迭代的需求了,這時候你肯定不是很熟,相對來說出錯的可能性就更大一些。qmm28資訊網——每日最新資訊28at.com

無論是技術層面,還是業務層面的熟悉程度,都會隨著你做了更多的需求,變得更加熟悉。到了后面某個階段,你基本上就不存在踩坑的問題了,也為你業務開發零 bug 奠定了基礎。如果你是一個剛剛進入公司的新手,那么做到零 bug 還是很難的。qmm28資訊網——每日最新資訊28at.com

開發時間是否充足

開發時間是否充足,決定了你是否有充足的時間去熟悉需求,去和產品經理確定細節。有了充足的時間,你也才能有一定時間去進行更詳細的自測。更為關鍵的一點,有充足的時間,你寫代碼才能寫得更好。因此,開發時間是否充足是很重要的。qmm28資訊網——每日最新資訊28at.com

在實際的開發過程中,會因為各種各樣的原因,其實并沒有辦法給你留出特別理想的開發時間。這時候該怎么辦?有些人選擇接受,去壓縮自己的時間。qmm28資訊網——每日最新資訊28at.com

有些人則會選擇去溝通,或者協調資源,保證自己有充足的時間。其實,正確的做法還是第二種,這樣會更好一些。qmm28資訊網——每日最新資訊28at.com

這需要開發人員有更強的綜合能力(溝通、協調能力),但并不是每個開發人員都具備的。關于這點,又是可以聊的一個話題 —— 當你的需求被壓縮工時的時候,你應該怎么做?這里暫不展開,后續有時間可以聊聊。qmm28資訊網——每日最新資訊28at.com

簡單來說,開發時間是基礎,沒有合理、充足的時間保障的話,要做到業務開發零 bug 是不可能的事情。qmm28資訊網——每日最新資訊28at.com

總結

要做到業務開發零 bug,其實就是要消除功能開發過程中的所有不確定性,包括:需求功能的不確定性、自己寫錯代碼的不確定性等等。而發生這些不確定性的地方,可能就有:qmm28資訊網——每日最新資訊28at.com

  1. 產品需求文檔的清晰程度
  2. 需求的復雜程度
  3. 開發人員的細心程度
  4. 開發人員是否詳細自測過
  5. 開發人員對項目的熟悉程度
  6. 開發人員開發時間是否充足

除了上面說到的 6 個影響業務開發零 bug 的因素之外,肯定還有其他影響因素。qmm28資訊網——每日最新資訊28at.com

本文鏈接:http://www.www897cc.com/showinfo-26-76489-0.html業務開發做到零 bug 有多難?

聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。郵件:2376512515@qq.com

上一篇: Go 包循環引用及對策,你學會了嗎?

下一篇: JS問題:簡單的Console.log不要再用了!試試這個

標簽:
  • 熱門焦點
  • 直屏旗艦來了 iQOO 12和K70 Pro同臺競技

    旗艦機基本上使用的都是雙曲面屏幕,這就讓很多喜歡直屏的愛好者在苦等一款直屏旗艦,這次,你們等到了。據博主數碼閑聊站帶來的最新爆料稱,Redmi下代旗艦K70 Pro和iQOO 12兩款手
  • 6月安卓手機性價比榜:Note 12 Turbo斷層式碾壓

    6月份有一個618,雖然這是京東周年慶的日子,但別的電商也都不約而同的跟進了,反正促銷沒壞處,廠商和用戶都能滿意。618期間一些產品也出現了歷史低價,那么各個價位段的產品性價比
  • 一年經驗在二線城市面試后端的經驗分享

    忠告這篇文章只適合2年內工作經驗、甚至沒有工作經驗的朋友閱讀。如果你是2年以上工作經驗,請果斷劃走,對你沒啥幫助~主人公這篇文章內容來自 「升職加薪」星球星友 的投稿,坐
  • 三言兩語說透設計模式的藝術-單例模式

    寫在前面單例模式是一種常用的軟件設計模式,它所創建的對象只有一個實例,且該實例易于被外界訪問。單例對象由于只有一個實例,所以它可以方便地被系統中的其他對象共享,從而減少
  • 如何通過Python線程池實現異步編程?

    線程池的概念和基本原理線程池是一種并發處理機制,它可以在程序啟動時創建一組線程,并將它們置于等待任務的狀態。當任務到達時,線程池中的某個線程會被喚醒并執行任務,執行完任
  • 多線程開發帶來的問題與解決方法

    使用多線程主要會帶來以下幾個問題:(一)線程安全問題  線程安全問題指的是在某一線程從開始訪問到結束訪問某一數據期間,該數據被其他的線程所修改,那么對于當前線程而言,該線程
  • 從零到英雄:高并發與性能優化的神奇之旅

    作者 | 波哥審校 | 重樓作為公司的架構師或者程序員,你是否曾經為公司的系統在面對高并發和性能瓶頸時感到手足無措或者焦頭爛額呢?筆者在出道那會為此是吃盡了苦頭的,不過也得
  • 重估百度丨“晚熟”的百度云,能等到春天嗎?

    ©自象限原創作者|程心排版|王喻可2016年7月13日,百度云計算戰略發布會在北京舉行,宣告著百度智能云的正式啟程。彼時的會場座無虛席,甚至排隊排到了門外,在場的所有人幾乎都
  • 三星Galaxy Z Fold5今日亮相:厚度縮減但仍略顯厚重

    據官方此前宣布,三星將于7月26日也就是今天在韓國首爾舉辦Unpacked活動,屆時將帶來帶來包括Galaxy Buds 3、Galaxy Watch 6、Galaxy Tab S9、Galaxy
Top 主站蜘蛛池模板: 凌源市| 呼图壁县| 拜城县| 宝鸡市| 南乐县| 项城市| 富宁县| 延庆县| 开鲁县| 左权县| 福清市| 晴隆县| 渭南市| 平江县| 龙陵县| 即墨市| 麻江县| 湖州市| 紫金县| 浙江省| 乌恰县| 安图县| 眉山市| 科尔| 噶尔县| 旬邑县| 封丘县| 称多县| 托克托县| 安康市| 湖南省| 军事| 南宫市| 黄山市| 榆中县| 大兴区| 民乐县| 抚顺县| 高邑县| 青浦区| 青神县|