沒有人是完美的络凿,因此在Java開發(fā)這個(gè)行業(yè)中骡送,代碼中出現(xiàn)BUG是相當(dāng)正常的現(xiàn)象。面對BUG絮记,一些Java程序員會(huì)生氣摔踱,會(huì)沮喪,會(huì)心煩意亂怨愤,甚至?xí)倚膯蕷馀煞螅硪恍㎎ava程序員仍然可以保持冷靜沉著,仔細(xì)的思考如何處理修復(fù)BUG憔四,如何修復(fù)BUG膀息,而修復(fù)BUG的過程也是值得一個(gè)程序員細(xì)細(xì)琢磨的地方。下面就來見識(shí)見識(shí)德克特Java班學(xué)員總結(jié)的面對bug的反應(yīng)了赵。
開發(fā)應(yīng)用程序是一個(gè)非常有壓力的工作潜支。我想分享一些程序員修復(fù)他們的源代碼時(shí)所經(jīng)歷的的想法。這是事情變得緊張時(shí)所觸發(fā)的輕松幽默柿汛。而且我也相信很多程序員都經(jīng)歷過這些艱辛冗酿,然后再事后一笑而過。
1.“我不知道我該刪除它還是重寫它”
回顧從前老的源代碼络断,會(huì)有一種想要返工寫成較大塊集群的沖動(dòng)和誘惑裁替。丑陋的邏輯語句,還有冗長的語法貌笨,導(dǎo)致代碼非常難以閱讀弱判!但話又說回來,如果代碼沒有壞掉的話锥惋,那就不要去修復(fù)它昌腰。這種洶涌澎拜的斗爭是我經(jīng)常要面對的开伏,而且顯然會(huì)困擾許多軟件開發(fā)人。
2.“對于起始框架我應(yīng)該查看Github”
我想大多數(shù)開發(fā)人員都知道Github遭商,上面每天都有數(shù)量驚人的開源項(xiàng)目發(fā)布固灵。任何語言的程序員都可以通過互聯(lián)網(wǎng)借鑒現(xiàn)有項(xiàng)目,加入維基討論劫流,或者創(chuàng)建自己的代碼倉庫巫玻。它是各種項(xiàng)目所需插件和模板的超棒資源。
3.“為什么這個(gè)腳本需要這么多庫祠汇?”
尤其是一些比較大眾化的語言仍秤,如Java和Objective-C,庫的數(shù)量可能變得異常兇猛座哩。當(dāng)構(gòu)建一個(gè)需要大量基礎(chǔ)的框架時(shí)徒扶,所需的庫的數(shù)量就變得顯而易見得多。即使是一些適用于JavaScript的插件根穷,也會(huì)額外需要無數(shù)的文件。有時(shí)导坟,這會(huì)讓人覺得煩雜惱人——但至少是有用的屿良!
4.“在互聯(lián)網(wǎng)的某個(gè)地方一定已經(jīng)有了解決方案”怪埽”
我面對棘手問題的第一反應(yīng)是上網(wǎng)查尘惧。程序員會(huì)將他們遇到的問題通過帖子發(fā)布到論壇上,然后這個(gè)問題最終得到解決并歸檔递递。谷歌搜索問題關(guān)鍵字的好幫手喷橙,可以指點(diǎn)你往正確的討論方向走。不幸的是登舞,有的時(shí)候卻是因?yàn)槭诸^沒有特定問題的太多信息而找不著北贰逾。
??5.“有沒有這個(gè)功能的插件?”
為什么要重新發(fā)明輪子菠秒?插件是擴(kuò)大任何程序或網(wǎng)站用戶界面的偉大資源疙剑。此外,它們還為開發(fā)人員提供了一些自定義和獨(dú)特的選項(xiàng)践叠。萬一真的沒有可用插件的話言缤,沒什么不自己構(gòu)建一個(gè)呢?
6.“雖然網(wǎng)站可以工作禁灼,但我害怕IE瀏覽器管挟。”
在InternetExplorer中渲染網(wǎng)頁的歷史充滿的艱辛考驗(yàn)弄捕,是我們有目共睹或親身體驗(yàn)過的僻孝。從5.5版本升級(jí)到IE9-IE10导帝,總是需要爭取到更高級(jí)瀏覽器的支持。web開發(fā)人員可能會(huì)害怕調(diào)試網(wǎng)頁皮璧,因?yàn)樵贗E6中打開頁面是一個(gè)渲染噩夢舟扎。值得慶幸的是,這樣的日子正在慢慢成為過去悴务。
??7.“對于邏輯表達(dá)式而言睹限,這似乎并不怎么合乎邏輯⊙堕埽”
對于if/else循環(huán)羡疗,for循環(huán),while循環(huán)别洪,do循環(huán)等等叨恨,都有邏輯表達(dá)式。當(dāng)瀏覽示例代碼時(shí)挖垛,我試圖指出我的邏輯是如何工作的痒钝。NOT運(yùn)算符和比較標(biāo)記的數(shù)量又是如此之多。我經(jīng)沉《荆回過頭去更新我自己的邏輯以便于更好地適合未來的做法送矩。
8.“我用30分鐘寫函數(shù),花2小時(shí)讓它工作哪替《拜”
這難道不像我們自己的編程故事嗎?你正興致勃勃地在構(gòu)建著什么凭舶,但是突然之間晌块,函數(shù)輸出了一個(gè)致命的錯(cuò)誤。所以帅霜,現(xiàn)在你必須回過頭去刪除一些代碼塊匆背,以找出錯(cuò)誤發(fā)生的行號(hào)。當(dāng)你終于找到罪魁禍?zhǔn)滓迤粒⒔鉀Q它時(shí)靠汁,雖然有種精疲力竭的感覺,但也滿心安慰闽铐。
??9.“在閱讀多篇博客文章之后蝶怔,我意識(shí)到,我之前全都是錯(cuò)的兄墅√咝牵”
我常常會(huì)一開始就根據(jù)自己的編程思想,一頭扎進(jìn)去研究隙咸,但是這可能會(huì)導(dǎo)致麻煩沐悦,如果事情不像原先設(shè)想地那樣順利的話成洗。已經(jīng)有很多次在我啟動(dòng)一個(gè)項(xiàng)目之后,陷入了困境藏否,然后只好尋求博客和其他論文的支持瓶殃。然后我發(fā)現(xiàn)我的整個(gè)方法實(shí)際上是錯(cuò)誤的,而且從頭來過更容易副签!如果我開始的時(shí)候能先做一番研究的話遥椿,從長遠(yuǎn)來說,反而節(jié)省時(shí)間淆储。
10.“StackOverflow上和善的人或許愿意幫助我冠场。”
?我已經(jīng)數(shù)不清有多少次我通過StackOverflow解決了難題本砰。社區(qū)里都是和善和聰明的人碴裙,他們非常愿意提供幫助,如果你邁出第一步的話点额。在所有的在線論壇中舔株,StackOverflow絕對是對軟件編程以及前端/后端web開發(fā)支持最廣泛的網(wǎng)絡(luò)。
關(guān)注德克特官網(wǎng)更多的驚喜还棱,好玩的事情督笆,好笑的故事在等待著你。