精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

避坑 | 為什么我總寫 Bug ?

開發 前端
寫代碼的過程中,難免會出現各種各樣的 Bug。但實際上,很多 Bug 產生的原因是類似的。于是我總結了一些自己學編程時寫 Bug 的誘因,希望大家引以為戒,在以后寫代碼的時候能更多注意。

[[422405]]

本文轉載自微信公眾號「程序員魚皮」,作者魚皮。轉載本文請聯系程序員魚皮公眾號。

大家好,我是魚皮。

寫代碼的過程中,難免會出現各種各樣的 Bug。但實際上,很多 Bug 產生的原因是類似的。于是我總結了一些自己學編程時寫 Bug 的誘因,希望大家引以為戒,在以后寫代碼的時候能更多注意。

常見 Bug 誘因匯總

中文編碼

下面是兩行最最最簡單的 Java 代碼,上面的代碼能運行,下面的代碼會報錯:

  1. // 教程中的,能運行 
  2. System.out.println("Hello!"); 
  3. // 我寫的,會報錯 
  4. System.out.println("Hello!"); 

明明我的代碼和教程中的一模一樣,為啥就是運行不了呢?

這是初學編程的同學總會遇到的一個問題,仔細一看,原來是行尾的分號誤用成中文的了。。。

這種 Bug 往往都是由于剛開始學編程時不注意或不習慣輸入法的切換而導致的,不過寫一段時間代碼后,就會好很多。而且一般編輯器是能夠識別出錯誤位置的,根據報錯信息去修改就好了。

編輯器識別出中文字符報錯

此外,有時我不小心把項目文件名從英文改成了中文,也會出現亂碼、無法讀取文件之類的問題。

代碼不規范

我以前不注意代碼規范,覺得反正是我自己寫的代碼,寫的快、寫的爽就完事了,管那么多干嘛?

但后來因為變量命名太過隨意,導致自己寫的代碼自己都看不懂,更別提其他人來閱讀和協作開發了。

命名不規范

就連之前粗心拼錯的變量名也根本不敢亂改,生怕漏改了一個地方,就會報找不到變量的錯誤了!

復制粘貼

復制粘貼可以說是我寫代碼時用的最多的技能了。

正常操作是:3 秒粘貼一個文件,隨便改兩下,代碼能跑就行。

復制粘貼雖然好,但稍有不注意,可能就會漏修改一些變量名或注釋,比如下圖的 student :

這樣的次數多了,往往會導致整個項目中出現很多相同的變量,其他同學要引入時,根本不知道應該選哪個!

硬編碼

寫代碼時經常會用到一些常量,就是固定的值,比如網站的地址、最大最小值、機器的 IP 地址等。

有時,為了圖省事,我就是不單獨為這些值定義變量。哪里用到這些值,我就復制粘貼一遍,直接寫死到代碼里,比如:

  1. // 連接數據庫,IP 寫死 
  2. DB db = new DB("10.0.0.1"); 

這樣雖然簡單粗暴,但假如哪一天這些死值需要修改了,就得從所有文件中一個個去找用到這些值的代碼,再一個個改掉,不僅麻煩,還很容易出現遺漏,從而產生 Bug。

未釋放資源

想從數據庫中獲取數據,就要先和數據庫建立連接,占用連接資源。

數據庫連接

拿到需要的數據后呢,我就忘了要把資源進行釋放(close),結果導致數據庫連接很快被占滿,其他程序想訪問都訪問不了,導致很多功能失效。

不僅是新手,甚至有幾年編程經驗的同學都可能會犯這個錯,因為不釋放資源并不會功能的可用性,而且不壓測的話很難發現這個 Bug。

此外,還有 HTTP 連接、文件輸入輸出流,這些都是資源,都要注意是否需要手動釋放,稍有不慎,就會導致資源泄露的 Bug。

圈復雜度過高

圈復雜度是衡量代碼復雜度的標準,簡單地說,if / else 分支越多,圈復雜度越大,往往表示代碼越復雜。

圈復雜度

記得我就寫過一個特別復雜的邏輯,幾十個分支語句一層套一層:

  1. if (xxx) { 
  2. else if (xxx) { 
  3.     if (xxx) { 
  4.         if (xxx) { 
  5.        } else if (xxx) { 
  6.       if (xxx) { 
  7.         💩 
  8.      } 
  9.            } 
  10.     } 

起初是懶得去優化代碼,但等到后來意識到情況不妙,想優化代碼時,卻發現這屎山已經動不得了。不光別人看不懂,我自己都看不懂了!

這種代碼一旦要加增改邏輯,就很容易出現 Bug。所以建議在寫復雜邏輯前先畫流程圖,理清楚代碼、多寫注釋,還可以適當地用抽象、封裝、設計模式之類的技術來減少代碼的圈復雜度。

依賴沖突

依賴 是指我們項目中要用到的框架、類庫等等別人寫好的代碼和工具。

像我以前做項目圖省事,要用到什么庫都往項目里塞,而且都用最新版本的。直到工作后才發現,對于一個大項目,很多人同時開發,往往要引入很多很多依賴,稍有不慎就產生 依賴沖突 。

各種項目依賴

比如我給類庫 A 引入了類庫 C 的 1.0 版本,類庫 B 引入了類庫 C 的 2.0 版本,那如果項目要同時引入類庫 A 和類庫 B,到底該用類庫 C 的哪個版本呢?

依賴沖突的后果往往就是項目起不來,更嚴重的是直到項目執行到沖突的函數時才突發 Bug。

不區分環境

以前,我做網站時為了方便,在自己電腦上開發時,和已上線的項目用的是同一套環境,連接的是同一個數據庫。

結果有一天,我就忘記了這個事,在開發時造了一條假的不行的假數據,還不小心上傳了我的玉照:

結果大意了,這條數據實際上被插入到了線上的數據庫中,導致線上幾萬個用戶全都能看見。

這還是小事,萬一你在本地開發時寫了個 Bug,不小心把線上數據全給刪了,那真的是要欲哭無淚了!

不做自測

企業開發中,測試是很重要的。一般情況下,除了測試同學要設計用例外、開發同學也要寫單元測試來自測。

像我以前就很自信,自己寫好的代碼能跑就行,從來不測試,就是一把梭!

但進入企業工作后,我發現不寫單元測試真的很容易出現各種細節問題。可能下個版本改了行代碼,之前正常的功能就突然報錯了。

而且越往后發現問題,修改的成本就越大,要花更多時間去排查和修改 Bug,加班也在所難免。

不做評估

以前在學校寫代碼,我一般就是學什么技術就用什么、會什么就用什么,也不去管是否能滿足性能、數據量的要求。

進入大公司后,才意識到系統評估和技術選型的重要性。一般要評估系統的并發量、數據的量級、接口時延等,根據這些來選擇合適的技術。

比如公司有一個千萬數據量的項目,如果我不做評估和選型,無腦用 MySQL 數據庫、并且不做任何優化,那這個系統估計分分鐘掛掉。

自作主張

在學校的時候習慣了單兵作戰,想改什么代碼就改什么,也不去思考對現有系統、對其他系統的影響。

但在企業中,尤其是調用關系很復雜的鏈路系統中,如果你修改了接口的返回值,或者改變了接口的并發量、返回時長等。分分鐘,依賴你接口的同事就都來登門拜謝了。

為了預防這種情況,建議整理下自己的接口依賴哪些接口、又被哪些接口調用。在你需要改動代碼時,需要評估改動對于其他系統的影響,并且及時通知相關負責人。而不是自作主張,只關注自己的一畝三分地。

文檔讀不全

現在的技術框架啥的,一般都提供了非常詳細的使用文檔。

技術文檔

但我以前讀文檔時,為了追求效率,只要看到有自己需要的函數,立刻就直接復制過來用了,而不是選擇把文檔完整讀完。

結果呢,因為盲目自信,很多文檔中重點強調的注意事項沒有看到,導致了很多傻不拉幾的低級 Bug,還在網上到處搜解決方案,浪費時間。

版本號錯誤

讀文檔和看教程學技術可不一樣,不要盲目追求最新的,而是要根據實際情況,選擇和自己項目中引入一致的版本。

記得我剛開始跟著文檔學編程時,寫的很多 Bug 都是因為閱讀文檔前沒有注意版本號,導致很多使用到的語法不是被淘汰了就是還不支持,然后就會懷疑人生。

注意選擇版本號

不了解需求

寫代碼之前,一定要了解需求,就是要做什么?為什么要做?

否則就會像我剛進入公司時,有個功能點沒搞懂,也不去問、不敢問產品同學,全靠自己自由發揮。就最后哪怕我的代碼能運行、沒 Bug,但并不是用戶想要的,那不就表示:我程序的存在本身就是個 Bug?

不做設計

寫代碼和蓋房子一樣,一定要先想好怎么寫代碼,再去寫。

尤其是業務流程復雜的時候,不要仗著自己聰明或者經驗豐富,就不寫方案、不做設計,而是直接打開編輯器就寫代碼。 

這樣做很容易遺漏一些要考慮的關鍵點,說不定直到最后,才發現有大問題,結果整段邏輯都要全部刪掉重新寫!效率反而更低。

 

責任編輯:武曉燕 來源: 程序員魚皮
相關推薦

2018-03-26 11:14:13

程序猿bug代碼

2016-01-12 16:58:31

C游戲

2022-01-17 18:21:09

數據庫社交引流

2012-07-11 11:05:16

編程

2021-02-09 20:51:13

D 語言腳本編程語言

2017-12-08 18:13:06

Linux操作系統無法識別硬盤

2024-04-03 12:30:00

C++開發

2024-04-24 13:45:00

2021-02-26 00:46:11

CIO數據決策數字化轉型

2012-04-04 22:07:12

Android

2012-02-28 09:11:51

語言Lua

2020-07-17 14:06:36

Scrum敏捷團隊

2023-05-24 10:06:42

多云實踐避坑

2021-02-22 17:00:31

Service Mes微服務開發

2021-05-07 21:53:44

Python 程序pyinstaller

2021-05-08 12:30:03

Pythonexe代碼

2022-03-04 18:11:16

信服云

2013-08-21 09:48:45

2019-09-02 22:34:48

點贊
收藏

51CTO技術棧公眾號

国产亚洲精久久久久久无码77777| 国产成人美女视频| 毛片网站在线观看| 美女视频一区在线观看| 久久久之久亚州精品露出| 亚洲精品理论片| www999久久| 欧美日韩午夜激情| 一区二区三区的久久的视频| 丰满少妇高潮在线观看| 青青草91视频| 午夜精品久久久久久久99黑人| 国产123在线| 91蜜桃臀久久一区二区| 欧洲一区在线电影| 日韩极品视频在线观看| 69xxxx欧美| 99精品视频中文字幕| 91免费看片网站| 久久亚洲精品石原莉奈 | 性刺激综合网| 色呦呦视频在线| 国产在线精品国自产拍免费| 日本免费一区二区三区视频观看| 欧美日韩免费一区二区| 成人一区二区| 亚洲品质视频自拍网| 一级黄色电影片| 国产精区一区二区| 欧美视频在线不卡| 日韩精品一区中文字幕| 国产v日韩v欧美v| 亚洲欧美偷拍另类a∨色屁股| 日本日本精品二区免费| 特黄视频在线观看| 成人爽a毛片一区二区免费| 91久久在线播放| 中文字幕+乱码+中文| 久久精品欧洲| 欧美一区第一页| 自拍偷拍欧美亚洲| 亚洲激情网址| 韩国精品久久久999| 久久久久久免费观看| 欧美国产三级| 欧美成人三级视频网站| 一区二区国产精品精华液| 久久精品高清| 日韩在线免费视频观看| 超碰人人干人人| jlzzjlzz亚洲女人| 中文字幕亚洲欧美日韩在线不卡| 成人黄色a级片| 久久精品99久久无色码中文字幕| 在线日韩欧美视频| 妖精视频在线观看免费| 爽成人777777婷婷| 久久精品中文字幕电影| 日韩一区二区三区四区在线| 欧美一区二区| 久久久久久久网站| 日韩免费不卡视频| 亚洲欧美日韩一区在线观看| 日本中文字幕成人| 波多野结衣一区二区在线| 日本最新不卡在线| 成人激情免费在线| 午夜精品久久久久久久爽| www.欧美亚洲| 欧美日韩在线高清| 97超碰人人在线| 亚洲欧洲日产国码二区| 欧美久久久久久久久久久久久久| а√在线天堂官网| 一本大道久久a久久综合婷婷| 欧美黑人又粗又大又爽免费| 欧洲美女精品免费观看视频| 日韩欧美中文字幕精品| 搡老熟女老女人一区二区| 欧美先锋资源| 久久91超碰青草是什么| 欧美特黄aaaaaa| 久久精品免费看| av激情久久| 免费观看成年在线视频网站| 中文字幕日韩一区| 国产av麻豆mag剧集| 人人鲁人人莫人人爱精品| 精品视频999| 日本一级大毛片a一| 九九免费精品视频在线观看| xvideos国产精品| 日产精品久久久久久久| 蜜臀va亚洲va欧美va天堂| 国产欧美日韩综合一区在线观看| 成人午夜影视| 亚洲国产成人av好男人在线观看| 黄色国产小视频| 动漫视频在线一区| 最近中文字幕2019免费| 亚洲一区欧美在线| 国产美女精品人人做人人爽 | 污污视频在线免费看| 中文无字幕一区二区三区 | 中文字幕在线观看二区| 在线视频观看日韩| 成人免费网站在线看| 日韩在线观看视频一区| 亚洲欧洲精品一区二区三区| 亚洲中文字幕无码中文字| 蜜桃精品视频| 中文字幕日韩精品在线观看| 国产 欧美 日韩 在线| 激情小说亚洲一区| 欧美亚洲另类在线一区二区三区| 丝袜在线视频| 欧美日韩国产片| 中国毛片在线观看| 亚洲精品人人| 超碰97网站| 成人短视频在线| 欧美日韩视频专区在线播放| 内射中出日韩无国产剧情| 欧美色综合网| 无人码人妻一区二区三区免费| 国产高清一区二区三区视频| 色婷婷av一区二区三区之一色屋| 亚洲911精品成人18网站| 成人激情在线| 日本高清视频一区| 天天干天天摸天天操| 亚洲精品水蜜桃| 亚洲午夜精品一区| 93在线视频精品免费观看| 国产精品久久精品| 国内av一区二区三区| 精品国产乱码久久久久久婷婷 | 成人动漫一区二区在线| 欧美日韩激情四射| 国产精品亚洲欧美一级在线| www高清在线视频日韩欧美| 中文字幕在线观看视频一区| 欧美经典一区二区| 亚洲 欧美 日韩系列| 国产真实有声精品录音| 日产精品久久久一区二区福利| 天天干天天做天天操| 亚洲成av人**亚洲成av**| 熟妇高潮一区二区| 一本一本久久| 精品亚洲第一| 97成人资源| 国产亚洲精品久久久久久777| 国产一级18片视频| 久久久久久久久99精品| 国产熟人av一二三区| 日韩精品一区二区三区免费观看| 国产精品视频精品视频| 欧美日韩xx| 日韩欧美国产一区在线观看| 久操视频免费在线观看| 成人免费毛片片v| 日本少妇高潮喷水视频| 少妇精品久久久一区二区| 国产精品mp4| 欧美精品videos另类| 91精品国产色综合久久不卡蜜臀 | 日本在线视频www鲁啊鲁| 亚洲精品一区二区精华| 在线观看国产亚洲| 日本一区免费视频| 日本中文字幕在线不卡| 91久久视频| 日本高清不卡三区| 国产免费区一区二区三视频免费| 九九热精品视频| 日av在线播放| 91麻豆精品国产无毒不卡在线观看| 亚洲国产精品久| 99免费精品视频| 亚洲欧美久久久久| 国内精品久久久久久久97牛牛 | wwwwxxxx国产| 免费观看久久久4p| 青春草国产视频| 精品国产一区探花在线观看| 亚洲一区制服诱惑| a日韩av网址| 欧美乱大交xxxxx| 噜噜噜噜噜在线视频| 欧美二区乱c少妇| 国产情侣在线视频| **网站欧美大片在线观看| 精品视频站长推荐| 久久99热国产| 无码人妻精品一区二区三区在线| 97国产成人高清在线观看| 国产日韩精品一区观看| 欧美午夜三级| 2025国产精品视频| 18在线观看的| 伊人男人综合视频网| 国产香蕉在线观看| 欧美日韩日本视频| 日本天堂网在线| 亚洲精品免费看| 国产又粗又硬视频| 91免费国产在线| 性生活一级大片| 热久久免费视频| 99色精品视频| 影音国产精品| 黄色一级片av| 久久婷婷蜜乳一本欲蜜臀| 麻豆av一区二区三区| 7m精品国产导航在线| 国产在线视频欧美| 浪潮色综合久久天堂| 亚州成人av在线| 欧美人体视频xxxxx| 久久久精品日本| 求av网址在线观看| 中文字幕免费精品一区高清| 精品亚洲综合| 日韩精品免费综合视频在线播放| 亚洲精品免费在线观看视频| 7777精品伊人久久久大香线蕉| 亚洲成熟少妇视频在线观看| 五月综合激情日本mⅴ| 精品处破女学生| 一区二区三区.www| 国产探花在线播放| 亚洲精选在线视频| 国产美女福利视频| 亚洲天堂2014| 国产探花在线视频| 中文字幕一区三区| 美女av免费看| 国产精品国产自产拍高清av| 久久午夜精品视频| 欧美激情一区二区三区在线| 手机看片福利视频| 国产三级三级三级精品8ⅰ区| 99久久久无码国产精品性| 久久色视频免费观看| 欧美性xxxx图片| 久久久午夜精品| 娇妻被老王脔到高潮失禁视频| 欧美国产精品专区| 91制片厂在线| 亚洲欧美激情一区二区| 日韩欧美中文字幕视频| 亚洲综合偷拍欧美一区色| 九九热国产视频| 一本久道中文字幕精品亚洲嫩| 久久人妻免费视频| 在线视频综合导航| 伊人亚洲综合网| 91精品国产一区二区| 亚洲欧美激情另类| 亚洲精品国产精品久久清纯直播 | 国产精品女同互慰在线看| 男女男精品视频网站| 日韩理论在线观看| 久久久国产精品黄毛片| 午夜私人影院久久久久| 亚洲国产成人精品女人久久| 精品婷婷伊人一区三区三| 91成人一区二区三区| 欧美va天堂va视频va在线| 日韩美女一级视频| 丝袜美腿精品国产二区| 中中文字幕av在线| 全亚洲最色的网站在线观看| 成人在线中文| 91视频免费进入| 无码日韩精品一区二区免费| 天堂社区 天堂综合网 天堂资源最新版 | 欧美丰满一区二区免费视频| 成人毛片在线免费观看| 亚洲天堂免费视频| 国产调教视频在线观看| 91精品国产91久久| 少妇高潮一区二区三区99| 懂色av一区二区三区在线播放| 国产欧美日韩影院| 久久久99精品视频| 日本午夜精品视频在线观看| 中文字幕第10页| 久久―日本道色综合久久| 97在线观看免费高| 色综合久久中文综合久久97| 国产人妖在线播放| 夜夜嗨av一区二区三区免费区 | 国产成人精品优优av| 精品国产麻豆| 亚洲春色综合另类校园电影| 狠狠88综合久久久久综合网| 2025韩国理伦片在线观看| 成人久久久精品乱码一区二区三区| eeuss中文字幕| 精品久久久久久久久久久| 国产绿帽刺激高潮对白| 亚洲日本中文字幕免费在线不卡| 性爱视频在线播放| 国产精品视频一| 色婷婷综合久久久久久| 国产又粗又猛又爽又黄的网站| 奇米色777欧美一区二区| av黄色一级片| 一区二区三区在线看| 中文字幕乱码中文字幕| 精品一区二区亚洲| caoprom在线| 92裸体在线视频网站| 成人影院天天5g天天爽无毒影院| 精品久久久久久久久久中文字幕| 国产精品影音先锋| 日日操免费视频| 在线国产电影不卡| 每日更新av在线播放| 欧美资源在线观看| 久久99国产精品久久99大师| 欧美精品在欧美一区二区| 韩国精品一区二区| 国产精品情侣呻吟对白视频| 在线观看不卡视频| 波多野结衣在线影院| 人人爽久久涩噜噜噜网站| 欧美影院天天5g天天爽| 国产中文字幕乱人伦在线观看| 国产成人精品免费| 青青草原在线免费观看视频| 91精品国产91久久久久久最新毛片| 91精品国产91久久久久游泳池| 国产成人精品久久久| 国产99久久| 成年人在线看片| 国产欧美日韩精品一区| 国产99免费视频| 亚洲视频第一页| 色8久久影院午夜场| 欧美在线播放一区二区| 视频一区二区三区入口| 女人黄色一级片| 欧美日韩日日夜夜| sm国产在线调教视频| www 成人av com| 在线日韩视频| wwwwxxxx国产| 欧美日韩免费观看一区三区| 日韩免费网站| 91在线精品播放| 欧美日韩1区| 黄色免费视频网站| 欧美天堂在线观看| 国产youjizz在线| 91精品国产自产在线老师啪| 97精品一区| av在线天堂网| 欧美日韩免费在线观看| 不卡在线视频| 亚洲最大激情中文字幕| 在线看片一区| 精品人妻互换一区二区三区| 欧美无人高清视频在线观看| 免费日本一区二区三区视频| 7777精品久久久大香线蕉小说| 亚洲精品婷婷| 亚洲第一综合网| 91精品婷婷国产综合久久性色| 精品精品导航| 欧美中文娱乐网| 久久99精品久久久| 国产在线视频99| 一色桃子一区二区| 亚洲不卡在线| www.日日操| 一区二区三区.www| 黄色在线小视频| 91精品国自产在线观看| 亚洲欧美日韩在线观看a三区| 成人无码精品1区2区3区免费看| 日韩一区二区免费在线电影| 日本三级一区| 国产又黄又爽免费视频| 91丝袜美腿高跟国产极品老师 | 久久精品99国产精| 亚洲视频在线免费看| 国产精品白丝久久av网站| 久久视频这里有精品| 国产精品人成在线观看免费| 黑人精品一区二区| 国产精品一区二区三区成人| 精品成人免费| 国产麻豆视频在线观看| 日韩国产高清污视频在线观看| 在线观看欧美| www.99在线| 无吗不卡中文字幕|