日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
程序員遇到Bug時(shí)的30個(gè)反應(yīng)

  

站在用戶的角度思考問題,與客戶深入溝通,找到淶源網(wǎng)站設(shè)計(jì)與淶源網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗(yàn),讓設(shè)計(jì)與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個(gè)性化、用戶體驗(yàn)好的作品,建站類型包括:成都做網(wǎng)站、成都網(wǎng)站制作、成都外貿(mào)網(wǎng)站建設(shè)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣、國際域名空間、網(wǎng)頁空間、企業(yè)郵箱。業(yè)務(wù)覆蓋淶源地區(qū)。

開發(fā)應(yīng)用程序是一個(gè)非常有壓力的工作。沒有人是***的,因此在這個(gè)行業(yè)中,代碼中出現(xiàn)bug是相當(dāng)普遍的現(xiàn)象。面對(duì)bug,一些程序員會(huì)生氣,會(huì)沮喪,會(huì)心煩意亂,甚至?xí)倚膯蕷?,而另一些程序員會(huì)依然保持冷靜沉著。因此,如何處理修復(fù)bug的過程也值得我們細(xì)細(xì)琢磨。

我想分享一些程序員修復(fù)他們的源代碼時(shí)所經(jīng)歷的想法。這是事情變得緊張時(shí)所觸發(fā)的輕松幽默。通常說來,應(yīng)用程序終將可以工作,然后你也可以進(jìn)入到下一個(gè)偉大的任務(wù)。

我相信很多web開發(fā)人員和軟件工程師經(jīng)歷過這些艱辛,然后在事后一笑而過。

1.“我不知道是要?jiǎng)h除還是要重寫它”

回顧從前老的源代碼,會(huì)有一種想要返工寫成較大塊集群的沖動(dòng)和誘惑。丑陋的邏輯語句,還有冗長的語法,導(dǎo)致代碼非常難以閱讀!但話又說回來,如果代碼沒有壞掉的話,那就不要去修復(fù)它。這種洶涌澎拜的斗爭(zhēng)是我經(jīng)常要面對(duì)的,而且顯然會(huì)困擾許多軟件開發(fā)人員。

2.“對(duì)于起始框架我應(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)有了解決方案?!?/p>

我面對(duì)棘手問題的***反應(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瀏覽器?!?/p>

在Internet Explorer中渲染網(wǎng)頁的歷史充滿的艱辛考驗(yàn),是我們有目共睹或親身體驗(yàn)過的。從5.5版本升級(jí)到IE9-IE10,總是需要爭(zhēng)取到更高級(jí)瀏覽器的支 持。web開發(fā)人員可能會(huì)害怕調(diào)試網(wǎng)頁,因?yàn)樵贗E6中打開頁面是一個(gè)渲染噩夢(mèng)。值得慶幸的是,這樣的日子正在慢慢成為過去。

7.“對(duì)于邏輯表達(dá)式而言,這似乎并不怎么合乎邏輯?!?/p>

對(duì)于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í)讓它工作?!?/p>

這難道不像我們自己的編程故事嗎?你正興致勃勃地在構(gòu)建著什么,但是突然之間,函數(shù)輸出了一個(gè)致命的錯(cuò)誤。所以,現(xiàn)在你必須回過頭去刪除一些代碼塊,以找出錯(cuò)誤發(fā)生的行號(hào)。當(dāng)你終于找到罪魁禍?zhǔn)?,并解決它時(shí),雖然有種精疲力竭的感覺,但也滿心安慰。

9.“在閱讀多篇博客文章之后,我意識(shí)到,我之前全都是錯(cuò)的?!?/p>

我常常會(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.“Stack Overflow上和善的人或許愿意幫助我。”

我已經(jīng)數(shù)不清有多少次我通過Stack Overflow解決了難題。社區(qū)里都是和善和聰明的人,他們非常愿意提供幫助,如果你邁出***步的話。在所有的在線論壇中,Stack Overflow絕對(duì)是對(duì)軟件編程以及前端/后端web開發(fā)支持最廣泛的網(wǎng)絡(luò)。

11.“花費(fèi)大力氣才找出問題的原因是缺少了右括號(hào)。”

調(diào)試是你必須要采取的步驟。進(jìn)兩步,退一步。盯著代碼數(shù)個(gè)小時(shí),以為函數(shù)名或變量作用域中有哪里搞錯(cuò)了,***才發(fā)現(xiàn)是遺漏了一個(gè)括號(hào),這滋味,酸爽得不要不要的。所有這些時(shí)間都因?yàn)橐粋€(gè)小小的語法錯(cuò)誤而浪費(fèi)。

12.“喝杯咖啡,休息一下!”

有時(shí)候,你只是需要站起來,遠(yuǎn)離顯示器。將鼠標(biāo)懸停在鍵盤數(shù)個(gè)小時(shí),反而有助于打破常規(guī)。大多數(shù)健康指導(dǎo)都會(huì)建議我們每隔30-60分鐘休息一會(huì)。但是這一切都取決于你的需要,如果你覺得在程序中間休息更令人懊惱的話,那就不要中斷。

13.“我應(yīng)該把這個(gè)項(xiàng)目束之高閣,以后再來處理它?!?/p>

休息的另一個(gè)選擇是離開你的項(xiàng)目,而不僅僅是遠(yuǎn)離你的電腦。如果還有其他工作需要做,那么不妨去做其他工作。相對(duì)于已經(jīng)花費(fèi)了5個(gè)小時(shí)來解決問題依然不得入門而言的話,這將能更好地分配時(shí)間和資源。

14.“我很懷疑古典音樂能否激發(fā)我的編程能力。”

有一種說法是,古典音樂可以在生命的早期階段促進(jìn)植物生長。我個(gè)人非常喜歡在寫復(fù)雜筆記時(shí)聆聽古典音樂。爵士樂、鋼琴、大樂團(tuán),優(yōu)雅的音樂在全世界 的人類文化中都有一席之地。那么,在編程的同時(shí)傾聽智慧的音樂真的能夠讓你更智慧地調(diào)試嗎?可能不會(huì),不過希望它不會(huì)讓你變得更笨拙。

15.“喝點(diǎn)酒吧,也許現(xiàn)在是檢驗(yàn)鮑爾默峰值理論的好時(shí)機(jī)?!?/p>

很多讀者都聽說過鮑爾默的峰值理論,根據(jù)一個(gè)特殊XKCD漫畫而得出。簡單地說,這個(gè)理論認(rèn)為程序員的編碼能力在喝了一定量的酒之后,會(huì)達(dá)到一個(gè)峰 值。作者名叫史蒂夫·鮑爾默,他的行為古怪,就像是一個(gè)醉漢,這有一定的諷刺意味,因?yàn)轷U爾默在微軟從來就不是一名真正的程序員。也許我們需要等待別人來 實(shí)踐證明這個(gè)理論吧。

16.“是不是有人動(dòng)過了我的源代碼?”

這聽起來有點(diǎn)妄想和偏執(zhí),但有時(shí)你會(huì)不由自主地懷疑,是不是有人在你補(bǔ)覺的時(shí)候,寫過這個(gè)東西了?;仡欉^去幾周或幾個(gè)月做的項(xiàng)目會(huì)讓你的心不斷地往 下沉。有時(shí)候你會(huì)發(fā)現(xiàn)一些你已經(jīng)不記得添加的東西——甚至這個(gè)項(xiàng)目你最近一周才剛剛瀏覽過!我為代碼而瘋狂,但你永遠(yuǎn)不會(huì)知道…

17.“我不知道這意味著什么?!?/p>

你能遇到的最壞情況是,你對(duì)你正在瀏覽的源代碼完全不知道該怎么做??赡苁悄阕约旱捻?xiàng)目,也可能是別人的項(xiàng)目,但問題的根源是相同的。現(xiàn)在,你必須決定是否值得花更多的時(shí)間去搜索替代方案,或仔細(xì)檢查腳本以了解它是如何工作的。

18.“我需要Google錯(cuò)誤信息?!?/p>

在PHP中工作了多年之后,我不得不說,Google是我調(diào)試問題時(shí)的***的朋友。使用Objective-C、C ++、Java、Python和其他主要語言,也是如此。錯(cuò)誤信息非常有幫助,但是除非你記得不同的代碼意味著什么,否則它讀起來更像是翻譯過的計(jì)算機(jī)語 言。值得慶幸的是,有很多在線支持可以幫助我們確定這些錯(cuò)誤信息的真正含義。

19.“我應(yīng)該停下來,收工……但我真的很想解決它!”

我們都有過極度灰心喪氣,想要放棄的感受,但總感覺半途而廢不是正確的選擇。于是,你繼續(xù)埋首鉆研,并嘗試新的解決方案來調(diào)試。但是,如果這還是意味著另一個(gè)小時(shí)的浪費(fèi)呢?對(duì)于這樣的情況我并不陌生,令人非常令人沮喪。

20.“哦,天哪,我以前為什么不寫點(diǎn)注釋呢?”

當(dāng)涉及到比較基礎(chǔ)的前端HTML / CSS / JS時(shí),我們沒有必要寫注釋。但更復(fù)雜的腳本和程序卻需要一定形式的條理組織,當(dāng)你在幾個(gè)月后,甚至若干年之后需要再回過頭來看的話。有時(shí)你會(huì)忘記注釋函 數(shù)及其參數(shù)、輸出格式,和其他的必要數(shù)據(jù)。這在一段時(shí)間之后無疑會(huì)導(dǎo)致混亂,而且,當(dāng)bug開始出現(xiàn)時(shí),你必須調(diào)試整個(gè)腳本來尋找解決方案。因此,要是有 一些有幫助的注釋就會(huì)讓你獲益良多。

21.“20分鐘前它還可以工作的……”

在構(gòu)建程序時(shí),可能最令人沮喪的部分就是,它從能工作到不能工作——而你沒有更新代碼的任何部分!我發(fā)誓這是真的。而且這是沒有任何意義的事情—— 也許是其他程序正在運(yùn)行緩存版本?有很多次你更新了一丁點(diǎn)代碼,卻導(dǎo)致了整個(gè)程序崩潰出錯(cuò),完全停止了工作?;謴?fù)到最近可工作的復(fù)制文件,然后從那里開始 一步步前進(jìn)。

22.“只是忘記了一個(gè)分號(hào),然而整個(gè)程序卻因此而轟然倒下?!?/p>

幾乎所有我使用的編程語言都需要結(jié)束符。雖然不是所有的語言都有,但在C/C ++中是很常見的。忘記添加結(jié)束符,不過是一個(gè)很顯然的錯(cuò)誤!但是解析器不知道這一點(diǎn),它會(huì)拋出一個(gè)致命錯(cuò)誤。于是,你不得不額外花20分鐘去搜索技術(shù)故 障,而原本只需要用1秒鐘補(bǔ)上那個(gè)缺少的分號(hào)即可。嗯,這就是調(diào)試軟件的樂趣。

23.“我不知道讓別人來修復(fù)我的代碼,得花多少錢?”

聘請(qǐng)另一個(gè)開發(fā)人員的點(diǎn)子是挺誘人的,但從財(cái)政上看顯然沒有那么可行。而且如果你不親身體驗(yàn)的話,又怎么能從這些錯(cuò)誤中學(xué)到東西呢?當(dāng)你在經(jīng)歷多次 失敗之后,終于理解了某個(gè)編程概念的時(shí)候,那感覺真是棒極了。盡管如此,我的腦海里依然時(shí)不時(shí)地有一種“讓別人來修復(fù)代碼”的沖頭。

24.“快速瀏覽Hackers News可以提高我的工作效率?!?/p>

很多程序員最喜歡閱讀的,有關(guān)于軟件和創(chuàng)業(yè)公司等社會(huì)新聞的選擇是Hackers News頭版。它有很多關(guān)于自由職業(yè)、時(shí)間管理、軟件開發(fā)、以及創(chuàng)業(yè)發(fā)布和融資的大量信息。雖然HN可以通過自我教育讓你感覺自己變得更有效率了,但同時(shí) 它也會(huì)浪費(fèi)你的時(shí)間。每隔幾小時(shí)去快速瀏覽下Hackers News也不是那么糟糕。

25.“這個(gè)API怎么沒有文檔?!”

在使用帶有壞文檔的插件或框架時(shí),最令人沮喪的是,你必須靠自己去深入鉆研源代碼。我喜歡開發(fā)人員花時(shí)間去專門設(shè)計(jì)可用文檔頁面的項(xiàng)目。所有的參數(shù) 和選項(xiàng)都解釋得清清楚楚,甚至可能會(huì)被用在一些示例代碼片段中。但可悲的是,事實(shí)并非總是如此。所以最簡單的方法是遠(yuǎn)離不良文檔,不自找麻煩。

26.“我真希望我保存了那個(gè)數(shù)據(jù)庫的備份副本……”

在編寫和調(diào)試代碼時(shí),我不會(huì)想到要備份。然而,數(shù)據(jù)備份提供了允許我們回過頭去修改的踏腳石。這在實(shí)時(shí)的服務(wù)器環(huán)境中尤為有用,因?yàn)橛惺裁醋兓瘯?huì)立 即執(zhí)行。以防萬一,我們應(yīng)該記得保存網(wǎng)站文件和數(shù)據(jù)庫的本地副本!雖然這會(huì)是一個(gè)惱人的任務(wù),但其惱人程度遠(yuǎn)遠(yuǎn)比不上重建損壞的SQL數(shù)據(jù)庫。

27.“讓它正常工作的最快解決辦法是什么?”

在花費(fèi)數(shù)個(gè)小時(shí)苦苦思考自定義的解決方案之后,很明顯你需要一種新的方法。在設(shè)計(jì)漂亮的界面之前,程序員率先想到的是讓功能正常工作。確定最快、最準(zhǔn)確的解決方案,并實(shí)施這個(gè)解決方案讓其工作才是100%利用了時(shí)間。然后,再轉(zhuǎn)移到漂亮美觀方面。

28.“我敢打賭更新我的軟件將解決這個(gè)問題。”

管理編程語言依賴和插件的團(tuán)隊(duì)并不需要經(jīng)常發(fā)布版本。有時(shí),在你從計(jì)算機(jī)傳輸文件到實(shí)時(shí)服務(wù)器的時(shí)候,更新PHP /Ruby/ Python / SQL版本可以解決調(diào)試問題。本地更新很少能夠幫助修復(fù)源代碼中的bug,除非你的版本已經(jīng)過時(shí)得無可救藥。所以,值得一試!

29.“我應(yīng)該更有條理并且去學(xué)習(xí)Git ……下周就去研究它?!?/p>

開源版本控制包Git在程序員中非常受歡迎。相對(duì)于其他的競(jìng)爭(zhēng)對(duì)手,它提供了更容易的學(xué)習(xí)曲線,并且被許多在線代碼倉庫,如Github上和 Bitbucket使用。開發(fā)人員很容易拖延去學(xué)習(xí)Git的行動(dòng),因?yàn)樗鼘?duì)于初學(xué)者而言顯然是有難度的。但是一旦你知道了基本命令,那么Git就是小菜一 碟。而且它還能使調(diào)試版本控制更加清晰。

30.“算了,我還是從頭再開始吧?!?/p>

有時(shí)候,在你絞盡腦汁花費(fèi)數(shù)個(gè)小時(shí)之后,可能要做的只是將你的工作文件移動(dòng)到歸檔目錄(或刪除它們),再從頭開始就可以了。但是,考慮到先前已經(jīng)耗費(fèi)的時(shí)間,你很難下定這個(gè)決心。但是,當(dāng)我一籌莫展時(shí),我往往會(huì)選擇從頭開始,因?yàn)檫@樣才有可能找到完成項(xiàng)目的正確道路。

譯文鏈接:http://www.codeceo.com/article/30-action-programmer-bug.html
英文原文:30 Common Reactions Programmers Have When Things Go Wrong


文章標(biāo)題:程序員遇到Bug時(shí)的30個(gè)反應(yīng)
本文路徑:http://m.5511xx.com/article/dpchjop.html