導航:首頁 > 程序命令 > 程序員為什麼不願修復別人的bug

程序員為什麼不願修復別人的bug

發布時間:2025-02-21 19:00:14

⑴ bug是什麼意思,世界上第一個bug是什麼,bug為什麼不能徹底消除

在今天的生活中,我們享受著科技和網路帶來的便利,但是隨著碎片化時間的增加,我們沉浸在網路中的時間越來越多,久而久之就形成了很多網路熱詞,bug就是其中之一。那麼bug是什麼意思呢?原指計算機系統或軟體中的錯誤,現在也可以形容某些人。


bug是什麼意思?



bug最早出現在計算機中,這是計算機網路中的一個技術術語。最初,他們所指的「bug」是指計算機網路、系統和軟體出現錯誤,影響正常運行。有些黑客還可以通過bug攻擊網路,這是不可避免的,所以bug成為了很多程序員頭疼的問題。


bug也可以用來形容人和那些天才。我們和這種天才的差距太大了,所以是一種bug,一種褒義詞,指的是那些能力非凡,或者行為滴水不漏,讓我們害怕的傢伙。

以上是對bug是什麼意思的解釋,bug指的是計算機中出現的錯誤,或者那些非凡的天才。

⑵ 程序員不喜歡什麼,在廣州藍景做開發的朋友說,他不喜歡加班改別人的bug,你們呢

程序員最討厭不確定性。
Debug的時候,在怪異再棘手的問題,只要可以穩定重現,都遲早可以解決。「穩定重現」的意思是只要按一定的步驟做下來,問題就可以重演。
最討厭的就是那種時有時沒有,不知道什麼時候出現的bug。改了代碼不知道有沒有效,也不知道是否引入了新問題。可以把碼農逼瘋。
引入到生活中對人對物的態度也是一個道理。無緣無故發脾氣又不說為什麼的女朋友,言而無信說到做不到的人,約好的事情被放鴿子... 這些都是不確定性。
程序員對不可控的不確定性因素也是有解決方案的。在代碼里頭把異常try-catch-finally一下,做好補救收尾,在加上幾行注釋警醒後來人這里別亂動。對隨機發生的問題,對應方案就是假設這里永遠都會有問題,把隨機的行為轉化為降格的確定行為。就比如隨機發脾氣的女朋友吧,就會放棄研究發脾氣的原因,不求治本,而是假設她永遠會發脾氣,專注「哄」的工作也就是catch裡面的內容。

⑶ 互聯網前輩總是說「bug是改不完的」,新入職的程序員該怎樣應對bug

互聯網前輩總是說“bug是改不完的”,新入職的程序員應對bug:

⑷ 程序員怎麼樣保證自己的程序沒有BUG!

但大部分程序員都有一個問題就是不太願意測試自己的代碼。他們草草的調式完成以後就認為工作結束,測試那是測試人員的工作。 1. 影響了程序員自己的聲譽 2. 影響了產品的質量 3. 影響了客戶的信任度 4. 這個時候再 DEBUG 難度增大了許多。 大的不說,就說多自己聲譽的影響吧。如果你的程序總會有這樣那樣的 BUG ,你得到收益會減少,即使你寫了很多代碼。 程序員必須克服一些自身的致命缺點才能夠從根本上解決這個問題。那麼這個問題是什麼?前面我們已經提到,程序員對自己的代碼都非常寬容,認為那是正確的沒有問題。實際上這種想法比較正常,程序是通過程序員思考和設計之後才寫出來,程序員不會將自己認為不正確的東西寫到代碼里,而到這個時候都一直假設程序是正確的;但人非聖賢,怎麼可能不犯錯誤來。實際上程序員在對待其他程序員時候的態度就很好,帶著一種挑剔和學習的態度;但一旦對待自己的代碼就很難這么做;這就是最致命的。程序員也必須對自己的代碼帶著挑剔和學習的態度;這個基礎是假設自己的代碼是錯誤的,然後需要做的是怎麼樣證明自己的代碼是正確的。程序員自身可以在程序生成的每個階段做這些工作:仔細的設計(這個時候畫點時間是值得的,必須保證我們對自己的程序有清晰的輪廓後才能開始動手寫)、編寫代碼時、單元測試(單元測試的重要性就不在贅婿了)、功能測試。 仔細的設計:這個的仔細是說在程序員編寫代碼之前,其必須對代碼的整個結構以及邏輯結構有明確的清晰的了解,只有這個時候才可以去寫代碼。這里沒有談到文檔,但我說到了一定要清晰的思路,但清晰的思路不是每個人都可以在腦袋中直接形成的,很多人都是普通人,沒有辦法在腦袋瓜中把所有問題都想清楚,那麼就記下來,特別對於復雜的邏輯。 編寫代碼:對於沒有把握的代碼,例如:新設計的演算法,最好保證其正確性。可以單獨將這部分測試,這可以讓代碼模塊化的同時又保證了代碼的正確性。一句話:少量的代碼保證質量還是比較簡單的。 單元測試:單元測試的重要性不在贅敘了,現在也有許多工具可以幫助程序員並減少工作量。 功能測試:程序員保證自己代碼質量的最後一關;為了做這樣的工作我們可能必須寫一些代碼來測試,甚至是測試工作。使用大量的 CASE 來測試,以及錯誤的 CASE 。這里和測試人員的測試不同之處在於:仍然讓程序員的注意力放在其自己的代碼范圍內,減小了排錯的難度。 如果你通過了以上的步驟都找不出你程序中有任何問題的話,那麼我想你的程序應該足夠健壯了。其實還有一點必須說明的就是:代碼 REVIEW 。 前面說道了程序員對待別人代碼的態度是挑剔和學習的態度,所以讓其他程序員來 REVIEW 你的代碼也是檢查程序有沒有邏輯錯誤的很好的辦法。團隊中應該交叉 REVIEW 代碼,這是實踐的經驗。 作為一個好的程序員必須有以上的習慣,以及對待自己代碼象孩子一樣,我們要愛惜我們的代碼,同時也要讓代碼走正確的路。

⑸ 北大青鳥設計培訓:程序員在Bug面前的反應

開發應用程序過程中一定會遇到bug,這是很正常的事。
程序員會有各種反應:生氣,沮喪,郁悶甚至泄氣,也有一些程序員會比較淡定。
怎麼修復bug,解決問題,也是一項技能。
下面北大青鳥http://www.kmbdqn.cn/來分享程序員在bug面前反應情況。
當氛圍變得緊張的時候,這些話就會顯得輕松幽默。
最終,bug也會修復成功,你將會繼續下一個任務。
我相信許多web開發人員和程序員在編程中都會遇到困難,而事後回想起來,會覺得很好笑。
程序員在bug面前反應情況1、我不知道該刪掉還是重寫看這些曾經的代碼也別想重寫,邏輯性差,冗餘代碼多,讓人難以理解。
B不過,如果功能沒出現問題,千萬別去修改。
2、一開始架構時就該查GithubGithub上面每天都會發布的一些神奇的開源項目。
所有語言的程序員都會利用網路,為已存在的項目創建分支,添加項目wiki描述,或者創建自己的代碼庫,這些都為各種各樣的項目的插件和模板提供了豐富的資源。
3、為什麼這個腳本要依賴這么多庫說到一些越來越被廣泛使用的計算機語言,像Java和Objective-C,庫文件的數量也不斷增加。
明顯能看出,構建一個框架需要許多基礎庫,一些JavaScript插件也要大量的附加文件。
4、網上一定有解決辦法遇到困難時,第一反應是上網查資料,很多程序員會在論壇上發布他們的問題,最終這些問題都會被解決並存檔。
Google會很神奇地選擇一些跟你的問題相關的關鍵字,就能夠輕松得到一些有幫助的信息。
不過,有時一些特定的問題,相關的信息並不多。
5、有這個功能的插件嗎何必多此一舉,插件是擴展任何程序或者網站用戶介面的很好的資源。
另外它們還為開發者提供了一些定製及獨特的選項。
6、對於網站項目,好擔心InternetExplorer使用IE渲染網頁遇到的各種困難,我就不提了,從5。
5版本到IE9-IE10,對於瀏覽器的支持問題的爭議就一直不斷。
Web開發員很害怕網頁調試,使用IE6進行渲染更是噩夢,幸好那已成為歷史。

⑹ 為什麼有的程序員的代碼結構混亂

程序員都有一顆工程師的心,所以當他們到一片新的場地想做的第一件事就是,將舊的一切推倒重來。是的,他們決不會滿足於簡單的增量勞動。

或許這種微妙的心理定位可以解釋:為什麼程序員進入新項目組後寧願丟掉舊代碼重新寫,也不願意修修補補。他們認為舊代碼簡直一團糟。

但是,事實上真是這樣嗎?你之所以認為舊代碼一團糟,其實是由編程的一個基本定律決定的,那就是:寫代碼容易,讀代碼難。

為什麼你覺得舊代碼異常混亂?因為讀代碼更難。

這大概就是代碼Reuse難以實現的原因。 這就是你組里的每個人都喜歡用不同的功能將分割的字元串轉換成一個數組。比起猜測舊的功能是怎樣實現的,重新寫一個自己的功能要簡單和有趣多了。

作為這個公理的推論,你可以問問身邊的程序員他們正在奮戰的代碼怎麼樣?「簡直是一塌糊塗!」他們肯定會這樣說。「我簡直想推倒重來!」

為什麼認為代碼這么糟糕呢?「額,看看這個功能,竟然有兩頁長!完全不知道這些東西為什麼在這里!完全不知道這些API是干什麼的。」他們會這樣回答你。

漫畫:讀別人代碼是一種怎樣的體驗?

曾經,Borland的創始人 Philippe Kahn當初就是向記者們吹噓:Quattro Pro會比Microsoft Excel要好用得多,因為它是從頭開始編寫的,全部都是新的源代碼!

但是,認為新代碼比舊代碼好簡直就是荒謬。舊代碼是已經運行過的,測試過的。無數的bug在被發現前都上線運行過,發現之後程序員們可能在花了好些日子才修復了這些bug。這種修復可能是一行代碼,也可能是幾個字元,無數的時間和精力都花在了這些bug修復上。

當你決定拋棄這些舊代碼從零開始的時候,你也丟掉全部前任努力的結果。

新代碼一定比舊代買好?NO,重寫可能會帶來更大的風險。

對技術領導者來說,重寫項目的代碼也是一個異常艱難的決定。因為從公司層面說,重現代碼甚至會威脅產品的市場競爭力。一旦決定重寫代碼,那麼與競品相比,你可能落後了2~3年——在軟體行業,這時間可夠長的。

你理想中的新代碼會帶來產品功能的提升▼

但事實上,即便重寫的新代碼可以實現舊代碼的所有功能和需求,但是為產品帶來的市場競爭力只有邊際提升。因為重寫用的新技術、新語言、新框架並沒有給產品帶來質的飛躍。

更不用說在重寫的漫長過程中可能會遇到一些意外情況,比如:

1、缺錢:資金鏈的斷裂▼

2、缺人:核心程序員離職

最終導致效果不佳:達不到原產品應有的所有功能和需求,白白浪費了時間和金錢,也丟掉了市場競爭力。▼

所以重寫代碼意味著,你在把自己置身於非常危險的境地,可能幾年後你也寫不出比以前更好的代碼。你只是花了一大筆錢把已經存在的代碼又寫了一遍。

當你覺得眼前的舊代碼很爛時,該怎麼辦?

你覺得舊代碼寫的很爛,那又怎樣呢?它們已經上線,已經在實際運行中經受住了考驗。所以當你發現前任留下的代碼亂七八糟的時候,不妨冷靜下來,從以下三個方面入手理解代碼、改善代碼:

1、代碼的結構有問題

如果一段網路代碼突然彈出了自己的對話框,應該是UI代碼需要被處理。這些問題可以被解決掉,你要一次次小心地移動代碼,重構,改變介面。還需要一位細心的工程師立馬仔細地檢查這些改變是否有問題,從而不打擾到其他人。事實上,甚至比較大的結構變化也可以不扔掉代碼來完成。

大牛程序員Joel Spolsky回憶說,曾經在某個項目中,他和他的團隊花了好幾個月重新架構在一點上:把代碼動來動去、清理、創建有意義的基類,並創建了模塊之間的完美介面。但是他們始終非常小心翼翼,並沒有產生新的bug、也沒有丟掉任何舊代碼。

2、代碼的效率不高

曾經,Netscape的渲染代碼被傳非常緩慢。但事實上,這只會影響該項目的一小部分,這部分是你可以優化甚至重寫的。你完全不必重寫全部代碼。優化速度的1%工作量,會讓你獲得99%的爆炸性提高。

3、代碼寫得很醜

有些代碼真的寫的很醜,比如Joel曾參與一個項目,開始用下劃線做開始的成員變數約定,但後來改用更標準的「M_」。所以一半的功能用「_」開始,一半用「M」開始,這看起來真的很醜陋。但這個問題5分鍾就能解決,而不用從頭開始寫全部的代碼。

最後,你要記住,從頭開始再寫一遍並不意味著你會寫出比以前更好的代碼。因為你沒有參與到上一個版本的創建,所以你其實根本就不算有經驗。一旦你准備推倒重寫,你可能會再犯一遍版本一犯過的錯,甚至會產生更多的新問題。

一個總結:

面對糟糕的舊代碼,Keep Calm & Carry On !

在大型商業項目中,推倒重來是非常危險的行為。當然,如果你是在做實驗,想到新演算法可以隨時重寫。

⑺ 程序員發現 Bug 的時候是怎樣一種心境

我覺得程序員發現bug,應該就有一種學霸發現做錯了一道題的感覺,根據這張題出現在自己試卷上還是出現在別人試卷上應該是有不同的心情的,下面就程序猿的心情來簡單聊一聊。

有時候覺得程序員真的是很牛逼,那麼一大串外星文字寫出來,真是完全看不懂,人家還能一心二用,一邊寫程序,一邊看小說。

閱讀全文

與程序員為什麼不願修復別人的bug相關的資料

熱點內容
APP和伺服器怎麼維持心跳 瀏覽:13
java字元串轉換枚舉 瀏覽:239
水簾洞視頻APP怎麼充值 瀏覽:585
伺服器出現數據串聯是什麼原因 瀏覽:363
用集成演算法後結果變差 瀏覽:846
androidrejava 瀏覽:825
java把string轉化成int 瀏覽:213
程序員能做啥副業 瀏覽:590
王牌戰爭伺服器新手攻略怎麼改 瀏覽:611
慣性導航pdf 瀏覽:725
linux查詢當前伺服器地址 瀏覽:488
pe狀態下怎麼解壓ios 瀏覽:161
oracle查看錶空間linux 瀏覽:301
如何成為浪潮伺服器代理商 瀏覽:728
雙非程序員怎麼學習 瀏覽:281
發現東亞pdf 瀏覽:629
惡魔命令卡 瀏覽:549
心理解壓方式 瀏覽:911
初級程序員考試費多少 瀏覽:735
centosping命令 瀏覽:327