程序員在普通人的印象裏是一份嚴(ku)謹(bi)的職業,也是一個被搞怪吐槽樂此不疲的職業,程序員們面對複雜的代碼敲打電腦時連眉頭都不會皺一下,可是有一個詞倒是他們痛苦的根源,它就是Bug。html
有很多的新手程序員,剛開始都是從修BUG開始作起的。程序員
修bug有助於熟悉項目,瞭解大概哪些類參與了執行線路,相互調用關係又是如何,結構設計上有什麼特色。編程
之前猿姐就聽過這樣一個故事瀏覽器
有三個程序員須要穿過一片田地,到達對岸的房子。安全
初級程序員看了一眼笑着說道:不遠,只須要十分鐘就行。框架
資深級程序員想了一下說道:我應該在一天內過去。」菜鳥程序員很驚訝。函數
大神程序員看了一眼田地,說:我以爲十五分鐘應該夠了,資深程序員冷笑了一聲。post
因而,初級程序員出發了,剛走了一步就碰到了地雷,只好返回再次嘗試,最好,花費了一天的時間纔過去,結果倒是傷痕累累。網站
資深程序員一出發就匍匐前進,仔細地拍打地面,尋找地雷,只有在安全的時候才前進。他在一天的時間內當心謹慎地緩慢爬過了這片地,只觸發了幾個地雷。spa
大神程序員出發以後徑直穿過了田地,十分果斷。他只用了十分鐘就到了另外一邊。
「你是怎麼作到的?」另外兩我的問道,「那些地雷怎麼沒有傷到你?」
「很簡單,」他回答道,「我最初就沒有埋地雷。」
哈哈是否是頗有意思呢
開發應用程序是一個很是有壓力的工做。沒有人是完美的,所以在這個行業中,代碼中出現 Bug 是至關廣泛的現象。
面對 Bug,一些程序員會生氣,會沮喪,會心煩意亂,甚至會灰心喪氣,而另外一些程序員會依然保持冷靜沉着。所以,如何處理修復 Bug 的過程也值得咱們細細琢磨。
猿姐想分享一些程序員修復他們的源代碼時所經歷的想法。我相信不少開發人員和軟件工程師經歷過這些艱辛,而後在過後一笑而過。如下你經歷過哪些?
1.「我不知道是要刪除仍是要重寫它」
回顧從前老的源代碼,會有一種想要返工寫成較大塊集羣的衝動和誘惑。醜陋的邏輯語句,還有冗長的語法,致使代碼很是難以閱讀!
但話又說回來,若是代碼沒有壞掉的話,那就不要去修復它。這種洶涌澎拜的鬥爭是我常常要面對的,並且顯然會困擾許多軟件開發人員。
2.「對於起始框架我應該查看 Github」
我想大多數開發人員都知道 Github,上面天天都有數量驚人的開源項目發佈。
任何語言的程序員均可以經過互聯網借鑑現有項目,加入維基討論,或者建立本身的代碼倉庫。它是各類項目所需插件和模板的超棒資源。
3.「爲何這個腳本須要這麼多庫?」
尤爲是一些比較大衆化的語言,如 Java 和 Objective-C,庫的數量可能變得異常兇猛。當構建一個須要大量基礎的框架時,所需的庫的數量就變得顯而易見得多。
即便是一些適用於 Java 的插件,也會額外須要無數的文件。有時,這會讓人以爲煩雜惱人——但至少是有用的!
4.「在互聯網的某個地方必定已經有了解決方案。」
我面對棘手問題的第一反應是上網查。程序員會將他們遇到的問題經過帖子發佈到論壇上,而後這個問題最終獲得解決並歸檔。
谷歌搜索問題關鍵字的好幫手,能夠指點你往正確的討論方向走。不幸的是,有的時候倒是由於手頭沒有特定問題的太多信息而找不着北。
5.「有沒有這個功能的插件?」
爲何要從新發明輪子?插件是擴大任何程序或網站用戶界面的偉大資源。此外,它們還爲開發人員提供了一些自定義和獨特的選項。萬一真的沒有可用插件的話,爲何不本身構建一個呢?
6.「雖然網站能夠工做,但我懼怕 IE 瀏覽器。」
在 Internet Explorer 中渲染網頁的歷史充滿了艱辛考驗,是咱們有目共睹或親身體驗過的。
從 5.5 版本升級到 IE九、IE10,老是須要爭取到更高級瀏覽器的支持。Web 開發人員可能會懼怕調試網頁,由於在 IE6 中打開頁面是一個渲染噩夢。值得慶幸的是,這樣的日子正在慢慢成爲過去。
7.「對於邏輯表達式而言,這彷佛並不怎麼合乎邏輯。」
對於 if / else 循環,for 循環,while 循環,do 循環等等,都有邏輯表達式。當瀏覽示例代碼時,我試圖指出個人邏輯是如何工做的。
NOT 運算符和比較標記的數量又是如此之多。我常常回過頭去更新我本身的邏輯以便於更好地適合將來的作法。
8.「我用 30 分鐘寫函數,花 2 小時讓它工做。」
這難道不像咱們本身的編程故事嗎?你正興致勃勃地在構建着什麼,可是忽然之間,函數輸出了一個致命的錯誤。
因此,如今你必須回過頭去刪除一些代碼塊,以找出錯誤發生的行號。當你終於找到罪魁禍首,並解決它時,雖然有種精疲力竭的感受,但也滿心安慰。
我經常會一開始就根據本身的編程思想,一頭扎進去研究,可是這可能會致使麻煩,若是事情不像原先設想地那樣順利的話。
已經有不少次在我啓動一個項目以後,陷入了困境,而後只好尋求博客和其餘論文的支持。
最後我發現個人整個方法其實是錯誤的,並且從頭來過更容易!若是我開始的時候能先作一番研究的話,從長遠來講,反而節省時間。
來源 https://post.mp.qq.com/kan/article/2063422179-295542592.html?_wv=2147483777&sig=ee208a49a460584bd6d97e6651f38a19&article_id=295542592&time=1552472230&_pflag=1&x5PreFetch=1