沒有人是完美的,因此在Java開發這個行業中,代碼中出現BUG是相當正常的現象。面對BUG,一些Java程序員會生氣,會沮喪,會心煩意亂,甚至會灰心喪氣,而另一些Java程序員仍然可以保持冷靜沉著,仔細的思考如何處理修復BUG,如何修復BUG,而修復BUG的過程也是值得一個程序員細細琢磨的地方。
開發應用程序是一個非常有壓力的工作。我想分享一些程序員修復他們的源代碼時所經歷的的想法。這是事情變得緊張時所觸發的輕松幽默。而且我也相信很多程序員都經歷過這些艱辛,然后再事后一笑而過。
1.“我不知道我該刪除它還是重寫它”
回顧從前老的源代碼,會有一種想要返工寫成較大塊集群的沖動和誘惑。丑陋的邏輯語句,還有冗長的語法,導致代碼非常難以閱讀!但話又說回來,如果代碼沒有壞掉的話,那就不要去修復它。這種洶涌澎拜的斗爭是我經常要面對的,而且顯然會困擾許多軟件開發人。
2.“對于起始框架我應該查看Github”
我想大多數開發人員都知道Github,上面每天都有數量驚人的開源項目發布。任何語言的程序員都可以通過互聯網借鑒現有項目,加入維基討論,或者創建自己的代碼倉庫。它是各種項目所需插件和模板的超棒資源。
3.“為什么這個腳本需要這么多庫?”
尤其是一些比較大眾化的語言,如Java和Objective-C,庫的數量可能變得異常兇猛。當構建一個需要大量基礎的框架時,所需的庫的數量就變得顯而易見得多。即使是一些適用于JavaScript的插件,也會額外需要無數的文件。有時,這會讓人覺得煩雜惱人——但至少是有用的!
4.“在互聯網的某個地方一定已經有了解決方案。”
我面對棘手問題的第一反應是上網查。程序員會將他們遇到的問題通過帖子發布到論壇上,然后這個問題最終得到解決并歸檔。谷歌搜索問題關鍵字的好幫手,可以指點你往正確的討論方向走。不幸的是,有的時候卻是因為手頭沒有特定問題的太多信息而找不著北。
5.“有沒有這個功能的插件?”
為什么要重新發明輪子?插件是擴大任何程序或網站用戶界面的偉大資源。此外,它們還為開發人員提供了一些自定義和獨特的選項。萬一真的沒有可用插件的話,沒什么不自己構建一個呢?
6.“雖然網站可以工作,但我害怕IE瀏覽器。”
在InternetExplorer中渲染網頁的歷史充滿的艱辛考驗,是我們有目共睹或親身體驗過的。從5.5版本升級到IE9-IE10,總是需要爭取到更高級瀏覽器的支持。web開發人員可能會害怕調試網頁,因為在IE6中打開頁面是一個渲染噩夢。值得慶幸的是,這樣的日子正在慢慢成為過去。
7.“對于邏輯表達式而言,這似乎并不怎么合乎邏輯。”
對于if/else循環,for循環,while循環,do循環等等,都有邏輯表達式。當瀏覽示例代碼時,我試圖指出我的邏輯是如何工作的。NOT運算符和比較標記的數量又是如此之多。我經常回過頭去更新我自己的邏輯以便于更好地適合未來的做法。
8.“我用30分鐘寫函數,花2小時讓它工作。”
這難道不像我們自己的編程故事嗎?你正興致勃勃地在構建著什么,但是突然之間,函數輸出了一個致命的錯誤。所以,現在你必須回過頭去刪除一些代碼塊,以找出錯誤發生的行號。當你終于找到罪魁禍首,并解決它時,雖然有種精疲力竭的感覺,但也滿心安慰。
9.“在閱讀多篇博客文章之后,我意識到,我之前全都是錯的。”
我常常會一開始就根據自己的編程思想,一頭扎進去研究,但是這可能會導致麻煩,如果事情不像原先設想地那樣順利的話。已經有很多次在我啟動一個項目之后,陷入了困境,然后只好尋求博客和其他論文的支持。然后我發現我的整個方法實際上是錯誤的,而且從頭來過更容易!如果我開始的時候能先做一番研究的話,從長遠來說,反而節省時間。
10.“StackOverflow上和善的人或許愿意幫助我。”
我已經數不清有多少次我通過StackOverflow解決了難題。社區里都是和善和聰明的人,他們非常愿意提供幫助,如果你邁出第一步的話。在所有的在線論壇中,StackOverflow絕對是對軟件編程以及前端/后端web開發支持很廣泛的網絡。
關注動力節點官網更多的咨詢在等待著你。關注動力節點官方微信(動力節點Java學院)還可獲得免費Java視頻喲。