成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

避坑指南:程序猿如何避免線上Bug

新聞 前端
hello world是人類已知的最早的絕無bug的程序,但我們在日常開發中,需求不可能簡單到像hello world一樣,經常是coding五分鐘,debug2小時。

 沒有錯誤的程序是一則謬論,世間難尋。假設存在著一個沒有任何錯誤的程序,那么這個世界將會不復存在。

----《編程之禪》第四篇(金)第二節

[[223718]]

hello world是人類已知的最早的絕無bug的程序,但我們在日常開發中,需求不可能簡單到像hello world一樣,經常是coding五分鐘,debug2小時。在討論如何減少bug之前我們討論下哪些場景下容易產生bug。

[[223719]]

1、bug產生原因:

a、需求本來就有問題而產生的代碼缺陷。這類問題源頭是需求或產品這一塊沒有分析清楚,這個鍋產品背,但是作為開發者有必要參與到需求分析這個環節中。

b、代碼實現和需求相差很大的缺陷。這類問題也是比較常見的,開發人員的思維與需求或產品人員的思維還是有很大差距的。

c、很復雜的需求代碼實現在某些邏輯上有缺陷。這類問題有可能是開發人員不想實現完全,也有可能需求過于復雜,在系統設計階段就沒有分析出所有情況。

d、需求變動后對原有業務代碼進行重構,對原有業務不熟悉不了解

e、粗心導致的缺陷,比如條件判斷寫反,人孰能無過。

f、系統架構上的缺陷。這類問題一般很少,出現的話是大面積的。

g、對框架特性、數據結構、語言不熟悉,導致出現缺陷。

h、外部原因,操作系統或數據源。

那么如何避免產生bug呢,尤其是iOS,提交AppStore審核周期并不短,是否還記得那些慘痛的線上bug經歷,半夜起來改bug,提交后審核好幾天,所以有必要總結下如何避免bug,下面是我總結的幾點心得,歡迎補充

•詳細和無歧義的需求規格和業務邏輯

•合理的架構和模塊

•清晰明確的模塊間接口

•不要復制代碼,盡可能抽取共用的部分,重復的代碼在修改時容易造成不一致

•不要輕易重構代碼,每次重構,盡量做到所重構的業務都在本次QA測試用例的覆蓋范圍內

•盡量在理解同事業務代碼的情況下,更改組內成員的業務代碼

•處理邊界條件,處理非法的參數,永遠不要相信數據的可靠性,考慮到各種邏輯分支

• 限制函數的長度, 編寫易讀易維護的代碼,不過度使用技巧,難以理解的代碼很可能在修改中出錯

• 使用assert ,正確使用異常處理,捕捉能夠處理的異常

萬一真的出現了bug也別慌,善用《甩鍋大法》, 代碼沒錯接口的錯,接口沒錯SDK的錯,SDK沒錯編譯器的錯, 編譯器沒錯虛擬機錯, 虛擬機沒錯操作系統錯, 操作系統沒錯,硬件錯了,硬件沒錯還有電磁干擾,總之不要自己背鍋哈哈哈,兄得接住這口鍋!!

[[223720]]

***我個人認為寫出沒有bug的程序要在需求不不變的情況下。之所以產品不斷的維護有bug是因為后續的需求變更在前期的軟件設計中是無法考慮的。由于需求變化,但是又不可能每次變更需求都要重新設計架構和軟件,導致軟件也在bug發現和消除中循環著來度過軟件的生命周期,直到軟件下線,所以我們只能不斷積累開發經驗,培養思維的嚴密性,養成良好的開發習慣,來減少bug。

責任編輯:張燕妮 來源: iOSTips
相關推薦

2021-05-07 21:53:44

Python 程序pyinstaller

2021-05-08 12:30:03

Pythonexe代碼

2021-02-26 00:46:11

CIO數據決策數字化轉型

2024-04-24 13:45:00

2024-04-03 12:30:00

C++開發

2020-06-19 11:20:17

開發避坑支付寶

2021-09-07 15:41:35

Bug誘因代碼

2022-03-04 18:11:16

信服云

2023-05-24 10:06:42

多云實踐避坑

2021-02-22 17:00:31

Service Mes微服務開發

2018-10-26 09:22:57

微服務架構應用開發

2020-07-07 09:00:00

SIEM安全信息和事件管理網絡安全

2020-12-16 10:00:59

Serverless數字化云原生

2021-04-28 09:26:25

公有云DTS工具

2018-01-20 20:46:33

2020-06-12 11:03:22

Python開發工具

2019-04-24 17:45:24

微服務容器青云

2019-02-12 15:07:42

屏幕參數PC

2020-05-21 11:38:10

監控系統架構技術

2020-08-26 07:37:25

Nacos微服務SpringBoot
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 黄色在线免费观看视频网站 | 一级黄色在线 | 欧美视频二区 | 国产精品久久久久无码av | 国产精品久久久久久福利一牛影视 | 成人综合一区 | 色网在线播放 | 欧州一区二区 | 成人精品一区二区户外勾搭野战 | 91久久综合亚洲鲁鲁五月天 | 99久久婷婷国产亚洲终合精品 | 欧美大片黄 | 亚洲一区| 国产精品视频一区二区三区四区国 | 一区二区三区视频免费看 | 一区二区三区视频在线 | 国产一区二区精品自拍 | 成人欧美一区二区 | 喷潮网站 | gogo肉体亚洲高清在线视 | 99精品久久久 | 毛片免费视频 | 欧洲一区二区三区 | av播播 | 国产乱码精品一区二区三区中文 | 午夜一区| 欧美成人精品在线 | 国内av在线 | 97caoporn国产免费人人 | 91精品国产欧美一区二区成人 | 一级片在线播放 | 中文字幕国产第一页 | 97日日碰人人模人人澡分享吧 | 国产xxxx在线 | 亚洲国产精品成人久久久 | 中文字幕精品一区 | 国产精品视频一二三区 | 久久成人国产精品 | 免费国产视频 | 电影在线| 国产精品国产三级国产aⅴ浪潮 |