欧美一级免费观看-欧美一级美片在线观看免费-欧美一级录像-欧美一级久久-中文字幕国产-中文字幕观看

收藏此站 聯(lián)系我們
當(dāng)前位置:首頁 ? 公司新聞 ? 世界之謎:為什么程序員總是發(fā)現(xiàn)不了自己的Bug?

世界之謎:為什么程序員總是發(fā)現(xiàn)不了自己的Bug?

作者: 西洛科技 . 閱讀量: . 發(fā)表時間:2018-04-19 22:38

  程序員在普通人的印象里是一份嚴(yán)(ku)謹(jǐn)(bi)的職業(yè),也是一個被搞怪吐槽樂此不疲的職業(yè),程序員們面對復(fù)雜的代碼敲打電腦時連眉頭都不會皺一下,但是有一個詞卻是他們痛苦的根源,它就是Bug。
  測試人員、開發(fā)人員、管理人員對Bug的不同反應(yīng)
  當(dāng)程序員找Bug的時候
  程序員調(diào)Bug的感覺,就是這樣的一波未平,一波又起
  開發(fā)人員在演示中如何隱藏Bug
  叫新手程序員幫忙改Bug
  牛X程序員和Bug之間的PK
  千萬不要和程序員直接說有Bug

  程序員遇到Bug時的30個反應(yīng)
  開發(fā)應(yīng)用程序是一個非常有壓力的工作。沒有人是完美的,因此在這個行業(yè)中,代碼中出現(xiàn)Bug是相當(dāng)普遍的現(xiàn)象。
  面對Bug,一些程序員會生氣,會沮喪,會心煩意亂,甚至?xí)倚膯蕷?,而另一些程序員會依然保持冷靜沉著。因此,如何處理修復(fù)Bug的過程也值得我們細細琢磨。
  我想分享一些程序員修復(fù)他們的源代碼時所經(jīng)歷的想法。我相信很多開發(fā)人員和軟件工程師經(jīng)歷過這些艱辛,然后在事后一笑而過。以下你經(jīng)歷過哪些?
 
  1.“我不知道是要刪除還是要重寫它”
  回顧從前老的源代碼,會有一種想要返工寫成較大塊集群的沖動和誘惑。丑陋的邏輯語句,還有冗長的語法,導(dǎo)致代碼非常難以閱讀!
  但話又說回來,如果代碼沒有壞掉的話,那就不要去修復(fù)它。這種洶涌澎拜的斗爭是我經(jīng)常要面對的,而且顯然會困擾許多軟件開發(fā)人員。
 
  2.“對于起始框架我應(yīng)該查看Github”
  我想大多數(shù)開發(fā)人員都知道Github,上面每天都有數(shù)量驚人的開源項目發(fā)布。
  任何語言的程序員都可以通過互聯(lián)網(wǎng)借鑒現(xiàn)有項目,加入維基討論,或者創(chuàng)建自己的代碼倉庫。它是各種項目所需插件和模板的超棒資源。
 
  3.“為什么這個腳本需要這么多庫?”
  尤其是一些比較大眾化的語言,如Java和Objective-C,庫的數(shù)量可能變得異常兇猛。當(dāng)構(gòu)建一個需要大量基礎(chǔ)的框架時,所需的庫的數(shù)量就變得顯而易見得多。
  即使是一些適用于JavaScript的插件,也會額外需要無數(shù)的文件。有時,這會讓人覺得煩雜惱人——但至少是有用的!
 
  4.“在互聯(lián)網(wǎng)的某個地方一定已經(jīng)有了解決方案。”
  我面對棘手問題的第一反應(yīng)是上網(wǎng)查。程序員會將他們遇到的問題通過帖子發(fā)布到論壇上,然后這個問題最終得到解決并歸檔。
  谷歌搜索問題關(guān)鍵字的好幫手,可以指點你往正確的討論方向走。不幸的是,有的時候卻是因為手頭沒有特定問題的太多信息而找不著北。
 
  5.“有沒有這個功能的插件?”
  為什么要重新發(fā)明輪子?插件是擴大任何程序或網(wǎng)站用戶界面的偉大資源。此外,它們還為開發(fā)人員提供了一些自定義和獨特的選項。萬一真的沒有可用插件的話,為什么不自己構(gòu)建一個呢?
 
  6.“雖然網(wǎng)站可以工作,但我害怕IE瀏覽器。”
  在Internet Explorer中渲染網(wǎng)頁的歷史充滿了艱辛考驗,是我們有目共睹或親身體驗過的。
  從5.5版本升級到IE9、IE10,總是需要爭取到更高級瀏覽器的支持。Web開發(fā)人員可能會害怕調(diào)試網(wǎng)頁,因為在IE6中打開頁面是一個渲染噩夢。值得慶幸的是,這樣的日子正在慢慢成為過去。
 
  7.“對于邏輯表達式而言,這似乎并不怎么合乎邏輯。”
  對于if/else循環(huán),for循環(huán),while循環(huán),do循環(huán)等等,都有邏輯表達式。當(dāng)瀏覽示例代碼時,我試圖指出我的邏輯是如何工作的。
  NOT運算符和比較標(biāo)記的數(shù)量又是如此之多。我經(jīng)?;剡^頭去更新我自己的邏輯以便于更好地適合未來的做法。
 
  8.“我用30分鐘寫函數(shù),花2小時讓它工作。”
  這難道不像我們自己的編程故事嗎?你正興致勃勃地在構(gòu)建著什么,但是突然之間,函數(shù)輸出了一個致命的錯誤。
  所以,現(xiàn)在你必須回過頭去刪除一些代碼塊,以找出錯誤發(fā)生的行號。當(dāng)你終于找到罪魁禍?zhǔn)祝⒔鉀Q它時,雖然有種精疲力竭的感覺,但也滿心安慰。
 
  9.“在閱讀多篇博客文章之后,我意識到,我之前全都是錯的。”
  我常常會一開始就根據(jù)自己的編程思想,一頭扎進去研究,但是這可能會導(dǎo)致麻煩,如果事情不像原先設(shè)想地那樣順利的話。
  已經(jīng)有很多次在我啟動一個項目之后,陷入了困境,然后只好尋求博客和其他論文的支持。
  最后我發(fā)現(xiàn)我的整個方法實際上是錯誤的,而且從頭來過更容易!如果我開始的時候能先做一番研究的話,從長遠來說,反而節(jié)省時間。
 
  10.“Stack Overflow上和善的人或許愿意幫助我。”
  我已經(jīng)數(shù)不清有多少次我通過Stack Overflow解決了難題。社區(qū)里都是和善和聰明的人,他們非常愿意提供幫助,如果你邁出第一步的話。
  在所有的在線論壇中,Stack Overflow絕對是對軟件編程以及前端/后端web開發(fā)支持最廣泛的網(wǎng)絡(luò)。
 
  11.“花費大力氣才找出問題的原因是缺少了右括號。”
  調(diào)試是你必須要采取的步驟,進兩步,退一步。盯著代碼數(shù)個小時,以為函數(shù)名或變量作用域中有哪里搞錯了,最后才發(fā)現(xiàn)是遺漏了一個括號,這滋味,酸爽得不要不要的。所有這些時間都因為一個小小的語法錯誤而浪費。
 
  12.“喝杯咖啡,休息一下!”
  有時候,你只是需要站起來,遠離顯示器。將鼠標(biāo)懸停在鍵盤數(shù)個小時,反而有助于打破常規(guī)。大多數(shù)健康指導(dǎo)都會建議我們每隔30-60分鐘休息一會。
  但是這一切都取決于你的需要,如果你覺得在程序中間休息更令人懊惱的話,那就不要中斷。
 
  13.“我應(yīng)該把這個項目束之高閣,以后再來處理它。”
  休息的另一個選擇是離開你的項目,而不僅僅是遠離你的電腦。如果還有其他工作需要做,那么不妨去做其他工作。
  相對于已經(jīng)花費了5個小時來解決問題依然不得入門而言的話,這將能更好地分配時間和資源。
 
  14.“我很懷疑古典音樂能否激發(fā)我的編程能力。”
  有一種說法是,古典音樂可以在生命的早期階段促進植物生長。我個人非常喜歡在寫復(fù)雜筆記時聆聽古典音樂。爵士樂、鋼琴、大樂團,優(yōu)雅的音樂在全世界的人類文化中都有一席之地。
  那么,在編程的同時傾聽智慧的音樂真的能夠讓你更智慧地調(diào)試嗎?可能不會,不過希望它不會讓你變得更笨拙。

  15.“喝點酒吧,也許現(xiàn)在是檢驗鮑爾默峰值理論的好時機。
  很多讀者都聽說過鮑爾默的峰值理論,根據(jù)一個特殊XKCD漫畫而得出。簡單地說,這個理論認(rèn)為程序員的編碼能力在喝了一定量的酒之后,會達到一個峰值。
  作者名叫史蒂夫·鮑爾默,他的行為古怪,就像是一個醉漢,這有一定的諷刺意味,因為鮑爾默在微軟從來就不是一名真正的程序員。也許我們需要等待別人來實踐證明這個理論吧。
 
  16.“是不是有人動過了我的源代碼?”
  這聽起來有點妄想和偏執(zhí),但有時你會不由自主地懷疑,是不是有人在你補覺的時候,寫過這個東西了。
  回顧過去幾周或幾個月做的項目會讓你的心不斷地往下沉。有時候你會發(fā)現(xiàn)一些你已經(jīng)不記得添加的東西——甚至這個項目你最近一周才剛剛瀏覽過!我為代碼而瘋狂,但你永遠不會知道…
 
  17.“我不知道這意味著什么。”
  你能遇到的最壞情況是,你對你正在瀏覽的源代碼完全不知道該怎么做??赡苁悄阕约旱捻椖?,也可能是別人的項目,但問題的根源是相同的。
  現(xiàn)在,你必須決定是否值得花更多的時間去搜索替代方案,或仔細檢查腳本以了解它是如何工作的。
 
  18.“我需要Google錯誤信息。”
  在PHP中工作了多年之后,我不得不說,Google是我調(diào)試問題時最好的朋友。使用Objective-C、C++、Java、Python和其他主要語言,也是如此。
  錯誤信息非常有幫助,但是除非你記得不同的代碼意味著什么,否則它讀起來更像是翻譯過的計算機語言。值得慶幸的是,有很多在線支持可以幫助我們確定這些錯誤信息的真正含義。
 
  19.“我應(yīng)該停下來,收工……但我真的很想解決它!”
  我們都有過極度灰心喪氣,想要放棄的感受,但總感覺半途而廢不是正確的選擇。于是,你繼續(xù)埋首鉆研,并嘗試新的解決方案來調(diào)試。
  但是,如果這還是意味著另一個小時的浪費呢?對于這樣的情況我并不陌生,令人非常令人沮喪。
 
  20.“哦,天哪,我以前為什么不寫點注釋呢?”
  當(dāng)涉及到比較基礎(chǔ)的前端HTML/CSS/JS時,我們沒有必要寫注釋。但更復(fù)雜的腳本和程序卻需要一定形式的條理組織,當(dāng)你在幾個月后,甚至若干年之后需要再回過頭來看的話。
  有時你會忘記注釋函數(shù)及其參數(shù)、輸出格式,和其他的必要數(shù)據(jù)。這在一段時間之后無疑會導(dǎo)致混亂。而且,當(dāng)Bug開始出現(xiàn)時,你必須調(diào)試整個腳本來尋找解決方案。因此,要是有一些有幫助的注釋就會讓你獲益良多。
 
  21.“20分鐘前它還可以工作的……”
  在構(gòu)建程序時,可能最令人沮喪的部分就是,它從能工作到不能工作——而你沒有更新代碼的任何部分!我發(fā)誓這是真的,而且這是沒有任何意義的事情——也許是其他程序正在運行緩存版本?
  有很多次你更新了一丁點代碼,卻導(dǎo)致了整個程序崩潰出錯,完全停止了工作。恢復(fù)到最近可工作的復(fù)制文件,然后從那里開始一步步前進。
 
  22.“只是忘記了一個分號,然而整個程序卻因此而轟然倒下。”
  幾乎所有我使用的編程語言都需要結(jié)束符。雖然不是所有的語言都有,但在C/C++中是很常見的。
  忘記添加結(jié)束符,不過是一個很顯然的錯誤!但是解析器不知道這一點,它會拋出一個致命錯誤。
  于是,你不得不額外花20分鐘去搜索技術(shù)故障,而原本只需要用1秒鐘補上那個缺少的分號即可。嗯,這就是調(diào)試軟件的樂趣。
 
  23.“我不知道讓別人來修復(fù)我的代碼,得花多少錢?”
  聘請另一個開發(fā)人員的點子是挺誘人的,但從財政上看顯然沒有那么可行。而且如果你不親身體驗的話,又怎么能從這些錯誤中學(xué)到東西呢?
  當(dāng)你在經(jīng)歷多次失敗之后,終于理解了某個編程概念的時候,那感覺真是棒極了。盡管如此,我的腦海里依然時不時地有一種“讓別人來修復(fù)代碼”的沖動。
 
  24.“快速瀏覽Hackers News可以提高我的工作效率。”
  很多程序員最喜歡閱讀的,有關(guān)于軟件和創(chuàng)業(yè)公司等社會新聞的選擇是Hackers News頭版。它有很多關(guān)于自由職業(yè)、時間管理、軟件開發(fā)、以及創(chuàng)業(yè)發(fā)布和融資的大量信息。
  雖然HN可以通過自我教育讓你感覺自己變得更有效率了,但同時它也會浪費你的時間。每隔幾小時去快速瀏覽下Hackers News也不是那么糟糕。
 
  25.“這個API怎么沒有文檔?!”
  在使用帶有壞文檔的插件或框架時,最令人沮喪的是,你必須靠自己去深入鉆研源代碼。我喜歡開發(fā)人員花時間去專門設(shè)計可用文檔頁面的項目。
  所有的參數(shù)和選項都解釋得清清楚楚,甚至可能會被用在一些示例代碼片段中。但可悲的是,事實并非總是如此。所以最簡單的方法是遠離不良文檔,不自找麻煩。
 
  26.“我真希望我保存了那個數(shù)據(jù)庫的備份副本……”
  在編寫和調(diào)試代碼時,我不會想到要備份。然而,數(shù)據(jù)備份提供了允許我們回過頭去修改的踏腳石。這在實時的服務(wù)器環(huán)境中尤為有用,因為有什么變化會立即執(zhí)行。
  以防萬一,我們應(yīng)該記得保存網(wǎng)站文件和數(shù)據(jù)庫的本地副本!雖然這會是一個惱人的任務(wù),但其惱人程度遠遠比不上重建損壞的SQL數(shù)據(jù)庫。
 
  27.“讓它正常工作的最快解決辦法是什么?”
  在花費數(shù)個小時苦苦思考自定義的解決方案之后,很明顯你需要一種新的方法。在設(shè)計漂亮的界面之前,程序員率先想到的是讓功能正常工作。
  確定最快、最準(zhǔn)確的解決方案,并實施這個解決方案讓其工作才是100%利用了時間,然后再轉(zhuǎn)移到漂亮美觀方面。
 
  28.“我敢打賭更新我的軟件將解決這個問題。”
  管理編程語言依賴和插件的團隊并不需要經(jīng)常發(fā)布版本。有時,在你從計算機傳輸文件到實時服務(wù)器的時候,更新PHP/Ruby/Python/SQL版本可以解決調(diào)試問題。
  本地更新很少能夠幫助修復(fù)源代碼中的Bug,除非你的版本已經(jīng)過時得無可救藥。所以,值得一試!
 
  29.“我應(yīng)該更有條理并且去學(xué)習(xí)Git……下周就去研究它。”
  開源版本控制包Git在程序員中非常受歡迎。相對于其他的競爭對手,它提供了更容易的學(xué)習(xí)曲線,并且被許多在線代碼倉庫,如Github上和Bitbucket使用。
  開發(fā)人員很容易拖延去學(xué)習(xí)Git的行動,因為它對于初學(xué)者而言顯然是有難度的。但是一旦你知道了基本命令,那么Git就是小菜一碟。而且它還能使調(diào)試版本控制更加清晰。
 
  30.“算了,我還是從頭再開始吧。”
  有時候,在你絞盡腦汁花費數(shù)個小時之后,可能要做的只是將你的工作文件移動到歸檔目錄(或刪除它們),再從頭開始就可以了。但是,考慮到先前已經(jīng)耗費的時間,你很難下定這個決心。
  當(dāng)我一籌莫展時,我往往會選擇從頭開始,因為這樣才有可能找到完成項目的正確道路。

  為什么程序員發(fā)現(xiàn)不了自己的Bug?
  最近在朋友圈流行了這樣的一個小學(xué)數(shù)學(xué)題,當(dāng)然結(jié)果是“出乎意料”,看似簡單的結(jié)果,幾乎很少有人做對,而分析下來的原因無非是慣性思維下的粗心導(dǎo)致的完全錯誤,今天小編就帶大家一起分析下思考過程。
 
  看圖可知,貓=X貓頭=Y貓爪=Z,既:
 
  3X=30
  X+Y+Y=20
  Y+Z+Z=9
 
  所以得出X=10 Y=5 Z=2,故結(jié)果:Y+Z+X=5+2+10=17。
  一般大多數(shù)的第一結(jié)果可能都是這樣!等等,注意最后一個應(yīng)該是Y+Z×X=?

  心中一百只草泥馬奔過,再算一遍,Y+Z*X=5+2*10=25。
  對不起還是錯的,因為貓爪從2只。
  變成了1只。

 
  所以應(yīng)該是Y+Z/2*X=?心中一千只草泥馬奔過,再算一次:Y+Z/2*X=5+2/2*10=15。
  對不起還是錯的,因為最后一只貓少一個爪子,所以應(yīng)該是:Y+Z/2*(X-Z/2)=?
 
  心中一萬只草泥馬奔過,再算一次:Y+Z/2*(X-Z/2)=5+2/2*(10-2/2)=14。
 
  其實大家會發(fā)現(xiàn)這個題目非常的“坑爹”,不就是故意折騰人么,但是在很多系統(tǒng)中,開發(fā)看到測試提出的Bug也是這樣的感覺。

  作為開發(fā)就和我們成人一樣看到問題總是以自己的世界觀來理解,導(dǎo)致理所當(dāng)然的就這樣就對了,而真正的真相就被隱藏了。
  而兒童一般能夠做對的原因是,老師有引導(dǎo)性的提示細心的重要性并且長期踩雷。這也是測試人員和開發(fā)人員的區(qū)別之一,現(xiàn)在知道為啥測試不是誰都能做的工作了吧,開發(fā)也為啥找不到Bug了吧。
 
  當(dāng)程序員面對Bug的時候,如何機智甩鍋?
  當(dāng)你面對Bug時,切勿慌張,以下措施教你輕松應(yīng)對Bug帶來的困擾。
 
  1.打死不承認(rèn),這代碼不是我寫的,將鍋甩出去。
  2.睜眼說瞎話,在我電腦上是正常的呀,超級無辜。
  賺取同情分
  3.對方使用了錯誤的打開方式。
  一定是對方的打開方式不對,重新打開試試,我神馬都不知道
 
  4.痛斥產(chǎn)品經(jīng)理一頓,自己偷偷改好,氣勢不能弱,立場要堅定,迅速進入角色,完全沒有Bug這回事,我就是王道。


 
  以上模式可任意切換使用,但最終都逃不了,自己背地里偷偷,改Bug的宿命。

關(guān)鍵詞:世界,之謎,為什么,程序員,總是,發(fā)現(xiàn),不了,

現(xiàn)在咨詢免費送診斷方案,每天限3名
馬上填寫資料獲取方案
?
西洛科技產(chǎn)品
營銷型網(wǎng)站營銷型網(wǎng)站建設(shè)全網(wǎng)營銷推廣手機網(wǎng)站建設(shè)
西洛科技服務(wù)
7x24小時售后支持 全省上門服務(wù) 免費后臺培訓(xùn) 定期回訪
西洛科技動態(tài)
誠聘英才 公司新聞 行業(yè)新聞 技術(shù)日志
關(guān)于我們
關(guān)于我們 聯(lián)系西洛科技 誠聘英才
緊急問題處理電話
131-9413-7011131-9413-7011
131-9413-7011
COPYRIGHT ? 2024-2034 天津市河北區(qū)西洛科技有限公司 ALL RIGHTS RESERVED .
地址:天津市河北區(qū)光復(fù)道街道君臨大廈420室 | 備案號:津ICP備2024024445號
 
QQ在線咨詢
售前咨詢熱線
131-9413-7011
營銷顧問
營銷顧問
售后服務(wù)熱線
0512-68137574
售后服務(wù)
售后服務(wù)
小黄书网站在线观看入口网址 | 国产多人搡BBBB槡BBBB | 中文字幕二区三区av | 91少妇高潮喷水白浆 | 国产伦精品一区二区三区视频软件 | julia伊人久久精品影院 | 玖玖成人高清无码在线观看 | 强伦轩一区二区三区的含义和影响 | 无码人妻少妇色欲AV一区二区 | 国产a级黄色免费视频XX刚 | 少妇伦子伦5在线播放 | 精品人妻少妇嫩草Av无码专区 | 酒射网酒射网免费观看 | 精品国产乱码久久久久久国产自啪 | 成人污污污www免费网站 | 娇妻荡女交换久久精品 | 欧美成人乱码一区二区三区 | 无码人妻免费一区二区三区 | 少妇bbw搡bbbb搡bbbb | 91精品人妻一区二区三区蜜桃麻豆 | 国产成人无码精品久久二区三 | 久久无码人妻一区二区三区午夜 | 中文字幕人妻一区二区三区在线视频 | 一区二区中文字幕 | 一本一道无码免费看视频 | jk青草黄片视频免费在线观看 | 欧美成人dvd在线视频一区二区 | 精品欧美一区二区久久久久 | 久久精久久精久久精99 | 寡妇高潮一级毛片免费看v 中文字幕无码人妻在线视频 | 国内老熟妇对白HDXXXX | 三人成全免费观看电视剧高清小说 | 国产AV无码成人精品毛片 | 丰满岳乱妇一区二区三区在线 | 强行糟蹋人妻系列第二部 | 日本三级强伦轩人妻中文字幕系列 | 四lllBBBB槡BBBB视频 | 好吊妞视频988gao免费软件 | 国产乱婬片A片AAAAPp地址 | 91国產乱高潮白浆 | 17C丨国产丨精品永久入口 |