自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

程序員遇到bug的30種反應(yīng) 你中招了沒(méi)

移動(dòng)開(kāi)發(fā)
我想分享一些有關(guān)程序員在努力修復(fù)bug時(shí)常說(shuō)的話和冒出的想法。當(dāng)氛圍變得緊張的時(shí)候,這些話就會(huì)顯得輕松幽默。最終,bug也會(huì)修復(fù)成功,你將會(huì)繼續(xù)下一個(gè)任務(wù)。我相信許多web開(kāi)發(fā)人員和軟件工程師在編程中都會(huì)遇到困難,而事后回想起來(lái),還會(huì)覺(jué)得很好笑。

[[154867]]

我想分享一些有關(guān)程序員在努力修復(fù)bug時(shí)常說(shuō)的話和冒出的想法。當(dāng)氛圍變得緊張的時(shí)候,這些話就會(huì)顯得輕松幽默。最終,bug也會(huì)修復(fù)成功,你將會(huì)繼續(xù)下一個(gè)任務(wù)。

我相信許多web開(kāi)發(fā)人員和軟件工程師在編程中都會(huì)遇到困難,而事后回想起來(lái),還會(huì)覺(jué)得很好笑。

1、我不知道該刪掉還是重寫(xiě)

回歸曾經(jīng)寫(xiě)的源代碼,總有一種想要重新返工的沖動(dòng),邏輯性差,冗余代碼多,讓人難以理解。但是,如果功能沒(méi)出現(xiàn)問(wèn)題,千萬(wàn)不要去修改。這是我經(jīng)常要面對(duì)的困擾,相信也困擾了其他不少的軟件開(kāi)發(fā)者。

2、一開(kāi)始架構(gòu)時(shí)就該查Github

相信絕大多數(shù)開(kāi)發(fā)人員都知道Github,它上面每天都會(huì)發(fā)布的一些神奇的開(kāi)源項(xiàng)目。涉足所有計(jì)算機(jī)語(yǔ)言的程序員,會(huì)利用網(wǎng)絡(luò)對(duì)現(xiàn)有項(xiàng)目進(jìn)行分叉,在維基論壇談?wù)摶蛘呋刭?gòu)他們自己的源代碼,這些都為各種各樣的項(xiàng)目的插件和模板提供了很多豐富的資源。

3、為什么這個(gè)腳本要依賴(lài)這么多庫(kù)

說(shuō)到一些越來(lái)越被廣泛使用的計(jì)算機(jī)語(yǔ)言,像Java和Objective-C,庫(kù)文件的數(shù)量也不斷增加。很明顯可以看出,構(gòu)建一個(gè)框架就需要許多的基礎(chǔ)庫(kù),甚至一些JavaScript的插件也需要很多大量的附加文件。有時(shí)候這些亂七八糟的東西會(huì)很讓人心煩,但是至少它能運(yùn)行。

4、網(wǎng)上一定有解決辦法

遇到困難時(shí),我的***反應(yīng)就是上網(wǎng)查資料,很多程序員會(huì)在論壇上發(fā)布他們的問(wèn)題,最終這些問(wèn)題都會(huì)被解決并存檔。Google會(huì)很神奇地選擇一些跟你的問(wèn)題相關(guān)的關(guān)鍵字,你就能夠輕而易舉地得到一些對(duì)你有幫助的討論信息。不幸的是,有時(shí)候?qū)τ谝恍┨囟ǖ膯?wèn)題,相關(guān)的信息還不是很多。

5、有這個(gè)功能的插件嗎

何必要多此一舉插件是擴(kuò)展任何程序或者網(wǎng)站用戶(hù)接口的很好的資源。另外它們還為開(kāi)發(fā)者提供了一些定制以及獨(dú)特的選項(xiàng)。如果沒(méi)有可用的插件,那你為什么不自己創(chuàng)建一個(gè)呢?

6、對(duì)于網(wǎng)站項(xiàng)目,我好擔(dān)心坑爹的InternetExplorer

使用IE渲染網(wǎng)頁(yè)遇到的各種困難,我就不提了,從5。5版本到IE9-IE10,對(duì)于瀏覽器的支持問(wèn)題的爭(zhēng)議就一直不斷。Web開(kāi)發(fā)人員會(huì)很害怕網(wǎng)頁(yè)調(diào)試,使用IE6進(jìn)行渲染更是噩夢(mèng)。,幸好那些日子已經(jīng)慢慢成為歷史了。

7、有些邏輯語(yǔ)句,并不符合邏輯

有一些邏輯語(yǔ)句,像if/else循環(huán),for循環(huán),while循環(huán),do循環(huán)…等等,還有很多。在回顧一些源代碼時(shí),我總是盡力想弄明白我的邏輯是怎么回事。我經(jīng)常會(huì)回頭更新代碼,讓邏輯更清晰。

8、我花30分鐘寫(xiě)個(gè)函數(shù),運(yùn)行它卻要花2個(gè)小時(shí)

這不是十年前的一個(gè)有關(guān)編程的故事嗎?當(dāng)一切都在按照你所所期待的順利進(jìn)行著,突然某個(gè)函數(shù)輸出了一個(gè)致命的錯(cuò)誤,所以你不得不回頭刪除代碼塊,試圖定位出錯(cuò)的代碼行。盡管這會(huì)讓你筋疲力盡,但是一旦找到錯(cuò)誤的原因,問(wèn)題解決之后,你又會(huì)立馬感到渾身輕松。

9、讀了幾篇博客后,我才意識(shí)到我之前所做的全是錯(cuò)的

我總是喜歡根據(jù)自己的編程思想直入主題,但是如果事情沒(méi)有按照我原本的計(jì)劃進(jìn)行時(shí),會(huì)導(dǎo)致很多麻煩。有很多次,我在做項(xiàng)目時(shí),途中都遇到了麻煩,***只得查找博客和相關(guān)文章去尋求幫助。然后又發(fā)現(xiàn)我的整個(gè)方法完全錯(cuò)了,還不如從頭開(kāi)始更容易點(diǎn)。所以從長(zhǎng)遠(yuǎn)來(lái)看,在項(xiàng)目開(kāi)始時(shí)多做點(diǎn)研究反而會(huì)節(jié)省時(shí)間。

10、StackOverflow上有好心人或許能幫助我

我已經(jīng)數(shù)不清有多少次,遇到問(wèn)題都是通過(guò)StackOverflow得到解決的。只要你提出問(wèn)題,社區(qū)里就會(huì)有很多聰明,友好的熱心人愿意幫助你。所有的在線論壇里,它絕對(duì)是支持軟件編程和前后端web開(kāi)發(fā)的最全面的網(wǎng)站。

11、這個(gè)問(wèn)題竟然就因?yàn)樯倭藗€(gè)右括號(hào)

調(diào)試是我們經(jīng)常要用的方法,向前兩步,回退一步,再向前兩步,如此反復(fù)。為了查找函數(shù)命名或者變量作用域等錯(cuò)誤,盯著代碼看了數(shù)個(gè)小時(shí),結(jié)果發(fā)現(xiàn)只是缺少了一個(gè)括號(hào),你會(huì)有種哭笑不得的感覺(jué)。所有的時(shí)間都浪費(fèi)在了一個(gè)小小的語(yǔ)法錯(cuò)誤上,那一刻,你會(huì)覺(jué)得自己既是天才,又是***。

12、喝杯咖啡,休息一下

有的時(shí)候你需要起身離開(kāi)顯示器,連續(xù)敲了幾個(gè)小時(shí)的鍵盤(pán),如果中間休息一下,會(huì)對(duì)你的身體有益。大多數(shù)健康指南都建議每30-60分鐘休息一次。但是還是要取決于你的需要,如果你感覺(jué)中間暫停去休息會(huì)打斷你的思維,讓你很不爽,那就***不要了。

13、我應(yīng)該先把這個(gè)項(xiàng)目放一放,稍后在處理它

休息的另一種方式就會(huì)暫停你手中的項(xiàng)目,而不是離開(kāi)你的電腦桌?;蛟S你還有其他的工作要做,那就繼續(xù)下一項(xiàng)任務(wù)。比起試圖在一個(gè)花了5個(gè)小時(shí)還沒(méi)解決的問(wèn)題上繼續(xù)掙扎,這會(huì)是一種更合理地分配時(shí)間和資源的方式。

14、我在想或許古典音樂(lè)能夠激發(fā)我的編程潛能呢

有一種說(shuō)法認(rèn)為古典音樂(lè)能促進(jìn)植物的早期生長(zhǎng),我個(gè)人更偏愛(ài)古典音樂(lè)錯(cuò)綜復(fù)雜的注解和音樂(lè)理論。爵士,鋼琴,大型樂(lè)隊(duì),優(yōu)雅的音樂(lè)在全球各地的人類(lèi)文化都占有一席之地。所以編程的時(shí)候聽(tīng)點(diǎn)美妙的音樂(lè)會(huì)讓你調(diào)試起來(lái)更得心應(yīng)手呢。當(dāng)然也有可能,會(huì)讓你更加心煩意亂。

15、或許現(xiàn)在是驗(yàn)證鮑爾默峰值理論的好時(shí)機(jī)

我相信很多讀者都知道鮑爾默峰值,它是根據(jù)一個(gè)特殊的XKCD漫畫(huà)得來(lái)的。簡(jiǎn)單來(lái)說(shuō),這個(gè)理論認(rèn)為程序員的編碼能力在喝了定量的酒后,會(huì)達(dá)到一個(gè)峰值。這個(gè)起源于SteveBallmer的些古怪滑稽的姿態(tài)被認(rèn)為是像一個(gè)醉漢在說(shuō)胡話。盡管這有點(diǎn)諷刺,因?yàn)轷U爾默在微軟從來(lái)算不上一個(gè)真正的程序員,猜想我們只有等其他人來(lái)實(shí)踐這個(gè)理論了。

16、是誰(shuí)動(dòng)了我的代碼?

這個(gè)聽(tīng)起來(lái)有點(diǎn)像妄想癥,但是有時(shí)候你很想知道是誰(shuí)趁你補(bǔ)覺(jué)的時(shí)候?qū)懙倪@些東西?;仡欉^(guò)去幾周或者幾個(gè)月的項(xiàng)目,會(huì)給你一種暈乎乎的感覺(jué)。有時(shí)候你會(huì)不記得你寫(xiě)過(guò)這些東西—盡管上周你還在參與這個(gè)項(xiàng)目。好像是我很瘋狂地寫(xiě)的代碼,你卻從來(lái)不知道…

17、完全不知道這是神馬東東

你遇到的最糟糕的情況應(yīng)該是在研究源代碼時(shí),完全不知道它是在干什么,可能是來(lái)自你自己的項(xiàng)目,也可能是其他人的項(xiàng)目,但是問(wèn)題都一樣。這個(gè)時(shí)候,你必須確定是否值得花費(fèi)更多的時(shí)間去尋找其它解決方案或者仔細(xì)剖析代碼,研究它到底是干什么的。

18、直接google下錯(cuò)誤提示

鑒于多年的PHP經(jīng)驗(yàn),我不得不說(shuō)Google真的是調(diào)試問(wèn)題的***的小伙伴。這對(duì)于Objective-C,C++,Java和其他的主流語(yǔ)言的境況一定是相同的。錯(cuò)誤提示信息對(duì)我們很有用,但是你必須記住不同的錯(cuò)誤代碼代表什么意思。它讀起來(lái)更像是被翻譯過(guò)的計(jì)算機(jī)語(yǔ)言。幸好有這么多在線支持,讓我們確定這些錯(cuò)誤信息代表的真正意思。

19、今天應(yīng)該到此為止了,可我真的想把這個(gè)問(wèn)題解決了

我們都知道想要退出時(shí)的那種極度沮喪的感覺(jué),但是同時(shí)又覺(jué)得放棄不是正確的選擇。你很想繼續(xù)前進(jìn),找出新的解決方案來(lái)。但是如果到***還是浪費(fèi)了一個(gè)小時(shí),那該怎么辦?我對(duì)這種情況并不陌生,它會(huì)讓人特別沮喪。

20、哦買(mǎi)糕的,為什么我都沒(méi)寫(xiě)注釋呢

如果涉及到最基本的前端代碼HTML/CSS/JS時(shí),并不需要總是寫(xiě)注釋。但是如果是比較復(fù)雜的腳本和程序時(shí),就需要寫(xiě)一些標(biāo)準(zhǔn)的注釋以便你幾個(gè)月,甚至幾年后來(lái)重溫這些代碼。有時(shí)候你會(huì)忘記給函數(shù),參數(shù),輸出格式以及其他重要的數(shù)據(jù)寫(xiě)注釋?zhuān)@無(wú)疑會(huì)導(dǎo)致發(fā)生bug時(shí)你不得不調(diào)試整個(gè)腳本去尋求解決方案,感到非常困惑,到那個(gè)時(shí)候你會(huì)覺(jué)得要是有一些有用的注釋該多好啊。

21、這個(gè)20分鐘之前還好好的呢

或許構(gòu)建程序時(shí)最讓人沮喪的是,明明剛才還好好的東西,沒(méi)有改過(guò)任何代碼,這會(huì)兒卻運(yùn)行不起來(lái)了。我發(fā)誓這種情況絕對(duì)有發(fā)生,而且它沒(méi)有任何意義—也許其它程序運(yùn)行的是緩存版本呢然后也有一些時(shí)候我們只更新了一丁點(diǎn)代碼,結(jié)果整個(gè)程序都崩潰并且完全停止運(yùn)行。那就會(huì)回退到***的備份版本,從那兒繼續(xù)吧。

22、忘了一個(gè)該死的分號(hào),整個(gè)程序都崩了

幾乎我用過(guò)的所有的編程語(yǔ)言都要求每行結(jié)束時(shí)都要有結(jié)束符,但并不是所有的語(yǔ)言都這樣,不過(guò)C/C++系列語(yǔ)言絕對(duì)是這樣。當(dāng)你忘記添加分號(hào)結(jié)束符時(shí),這是多明顯的錯(cuò)誤!但是解析器并不不理解,便拋出一個(gè)致命的錯(cuò)誤。接下來(lái)就得再花費(fèi)20分鐘時(shí)間去研究代碼,查找技術(shù)錯(cuò)誤。最終發(fā)現(xiàn)只是少了一個(gè)分號(hào)。哈,這就是軟件調(diào)試的樂(lè)趣。

23、我想要招人來(lái)幫我修復(fù)bug,得花多少錢(qián)哪

雇傭程序員的想法聽(tīng)起來(lái)很誘人,但顯然在經(jīng)濟(jì)上是不可行的。另外,如果你連自己的的錯(cuò)誤都沒(méi)解決,你又怎么能從這些錯(cuò)誤中學(xué)到東西呢?經(jīng)歷多次失敗,***當(dāng)你真正理解了編程的概念后,你會(huì)很有成就感。但有時(shí)候腦子里難免還是會(huì)閃過(guò)這種想法。

24、快速瀏覽下HackerNews,肯定能提高我的效率

很多程序員對(duì)于瀏覽軟件和創(chuàng)業(yè)等社會(huì)新聞的偏愛(ài)選擇都是HackerNews首頁(yè)。它有大量的關(guān)于自由職業(yè),時(shí)間管理,軟件開(kāi)發(fā),創(chuàng)業(yè)發(fā)布和籌資資金等方面很棒的信息。盡管HN能夠模擬出通過(guò)自我教育更加高效的感覺(jué),但其實(shí)是在浪費(fèi)你的時(shí)間。每隔幾小時(shí)去快速瀏覽下新聞也沒(méi)那么糟糕。

25、這個(gè)API怎么沒(méi)有說(shuō)明文檔???

最讓人沮喪的事情就是使用插件或者框架時(shí),自帶的文檔很糟糕,你只好自己去深入閱讀源代碼。我更喜歡讓開(kāi)發(fā)人員花時(shí)間專(zhuān)門(mén)為項(xiàng)目設(shè)計(jì)一個(gè)文檔頁(yè),對(duì)所有的參數(shù)和選項(xiàng)都給予解釋?zhuān)锌赡艿脑?,給出一些示例代碼。但是很遺憾,這種情況幾乎不可能。所以最簡(jiǎn)單的辦法就是遠(yuǎn)離那些附帶文檔很糟的工作,以免給自己帶來(lái)麻煩。

26、我真希望我已經(jīng)對(duì)數(shù)據(jù)庫(kù)進(jìn)行備份了

在編寫(xiě)和調(diào)試代碼的時(shí)候,我有時(shí)候會(huì)想不到備份。然而,數(shù)據(jù)備份能夠幫助我們回退到做出某個(gè)特定的改變之前的版本,這對(duì)一個(gè)即時(shí)的服務(wù)器環(huán)境是特別有用的,有些變化瞬間就會(huì)發(fā)生。切記在本地保留對(duì)網(wǎng)站文件和數(shù)據(jù)庫(kù)的拷貝,以備急需。你可能會(huì)覺(jué)得這樣太麻煩了,但是總比你重建一個(gè)SQL數(shù)據(jù)庫(kù)強(qiáng)多了。

27、怎樣才能快速解決這個(gè)問(wèn)題?

如果花費(fèi)了數(shù)小時(shí)后,仍然未找到一個(gè)解決辦法,很明顯你需要一個(gè)新的方案了。程序員總是想要先實(shí)現(xiàn)功能,然后再去設(shè)計(jì)和美化界面。先確定一個(gè)最快的,最準(zhǔn)確的解決方案,并盡力去實(shí)現(xiàn)和完成,然后再去考慮美化界面的問(wèn)題就會(huì)很輕松了.

28、我敢打賭,你更新下我的代碼,這個(gè)問(wèn)題就解決了

那些為編程語(yǔ)言提供依賴(lài)包和插件的團(tuán)隊(duì)并不需要頻繁地發(fā)布產(chǎn)品。有時(shí)候從本地傳送文件到服務(wù)器的時(shí)候,更新PHP/Ruby/Python/SQL版本可能會(huì)解決一些調(diào)試問(wèn)題。除非你的版本實(shí)在太舊了,否則本地更新很少能夠幫助你修復(fù)源代碼中的bug,不過(guò)還是值得一試!

29、我真的該好好學(xué)習(xí)Git了,…還是下周吧

開(kāi)源的版本控制控制軟件Git在程序員中廣受歡迎。跟其他競(jìng)爭(zhēng)對(duì)手相比,它提供了一條更簡(jiǎn)單的學(xué)習(xí)曲線,被應(yīng)用在了許多在線倉(cāng)庫(kù)像Github和Bitbucket中??赡軐?duì)初學(xué)者來(lái)說(shuō),會(huì)有點(diǎn)難度,但是一旦你掌握了基本命令,你會(huì)發(fā)現(xiàn)使用GIt就是小菜一碟。它還讓版本控制更加清晰。

30、算了,我還是從頭開(kāi)始吧

有時(shí)候嘗試了數(shù)小時(shí)的解決方案后,你可能需要將你的工作文件歸檔(或者刪掉它們),重新開(kāi)始。這個(gè)決定的***難點(diǎn)就是你會(huì)考慮到前面數(shù)小時(shí)的工作會(huì)毫無(wú)收獲。但是如果你保留之前的想法,項(xiàng)目卻毫無(wú)進(jìn)展時(shí)。重新開(kāi)始,才有可能讓項(xiàng)目順利完成。

責(zé)任編輯:倪明 來(lái)源: 簡(jiǎn)書(shū)
相關(guān)推薦

2016-02-26 15:25:45

程序員Bug反應(yīng)

2013-09-30 09:18:39

2018-05-28 14:55:56

職業(yè)錯(cuò)誤程序員

2021-07-26 08:21:36

程序員高并發(fā)中間件

2022-04-01 17:32:00

Windows3.1元宇宙模式黑客

2011-03-22 10:49:53

2019-08-08 10:51:14

程序員代碼項(xiàng)目

2021-01-07 08:12:08

自學(xué)編程學(xué)習(xí)

2013-11-08 09:22:17

程序員Bug調(diào)試

2015-11-24 09:13:25

程序員bug

2019-08-21 15:50:11

Python程序員人生第一份工作

2023-06-06 09:01:09

2010-11-22 13:28:55

2017-12-22 08:39:28

程序員代碼BUG

2021-08-16 14:00:27

手機(jī)科技功能

2018-02-26 09:28:42

程序員Bug體驗(yàn)

2018-10-25 10:36:50

物聯(lián)網(wǎng)誤區(qū)IOT

2018-03-09 15:04:55

程序員Bug

2009-05-21 15:58:12

程序員工作經(jīng)驗(yàn)職場(chǎng)

2020-12-02 14:32:42

瀏覽器
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)