為何程式設計師大部分時間在debug

時間 2021-06-02 10:15:17

1樓:

K&R 的作者 Brian Kernighan 這樣認為的

Kernighan's Law:

Debugging is twice as hard as writing the code in the first place. Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it.

2樓:

題主說的三個情況都不是事兒!

因為有一種bug叫concurrent bug!

這種bug男人遇到會沉默,女人遇到會流淚…最後懷疑人生…前排的輪子哥,請教啊!

3樓:

本人資料民工一枚,常用語言是Python。我Debug的原因,總結起來主要有以下幾方面:

1、未知的語法錯誤。使用新Module時,對引數不了解導致。佔比:10%

2、演算法邏輯的問題。演算法在一開始設計時,客觀上只能應對了80%的常見情形(源於一開始自己的想象,有遺漏可以理解)。當演算法遇到剩下的那20%的情形時,演算法就出Bug了。

Bug包括:演算法直接停止 or 結果不是你想要的。佔比:

80%3、某些Func本身的缺陷。在使用某些Module中的某些Function去解決具體問題時,造輪子的大神,並沒有考慮到所有可能的情況。佔比:10%

4樓:曹彰

不是不可能 ,有可能,但是那樣花費時間會遠超依靠debug查錯的時間,完全得不償失,debugger的出現反而是一大進步。而且當程式複雜度到一定程度時,靠人工思考做到0bug 的時間會長到不可想象。

5樓:王建業

任何產品,包括零部件,從設計到製成樣品,都需要經過多次修改,才能上市。考慮到製造週期,一次修改往往需要很長世間來論證。製造期間,工程師又在搞其它設計了。

修改的次數與產品的複雜程度是正相關的。

對程式設計師這個崗位來說,軟體產品(包括大大小小的模組)的製造就是編譯,所以製造週期非常短。軟體產品的複雜程度又是比較高的,本身就需要很多次修改才能完善,因此產品的修改完善從時間分布上看,就集中在程式設計/Debug這個階段了。

6樓:Code Diy

這裡面包含四個重要因素。

1 已有技術理論

2 個人技術掌握

3 專案所需技術

4 客戶專案需求

1 2 4的更新會影響3的更新。

7樓:

有本書叫《程式設計高手箴言》,梁肇新寫的,有句話:程式是除錯出來的,不是編出來。

自從參加了正式的程式設計工作實際開始上手的時候,越來越覺得這話講的非常有道理。

8樓:ze ran

我想六個小時,寫兩個小時,然後一次就過了,不怎麼需要debug。想的是如何分析問題,怎麼抽象,如何重用,需求以後會如何改變,用sql還是nosql,soap還是rest,load高了怎麼辦,如何水平擴充套件…怎麼和別人解釋這個設計。

這些想明白了,我就開始寫code了。

9樓:

1. 乙個有實際意義的程式,一定有錯誤,也一定會執行出錯。

2. 每當遇到程式一次成功,我就很緊張,不過只要肯用心,一般都還能找到辦法讓它失敗。

3. 用不用偵錯程式無所謂,只要發現錯誤別急著改就是了。

4. 充分發揮想象力,盡可能地讓機器幫助發現錯誤。

10樓:徐瑞濤

需要debug的情況往往對應於事先未考慮到的情況,在程式設計活動中,人腦才是最大的瓶頸。

軟體工程領域的快速迭代就是為了克服人腦的思維侷限性。

為什麼說 最優秀的程式設計師大部分是C程式設計師?

圓胖腫 因為大多數人的智商理解不了lisp或者haskellc相對容易懂,因為tangible 這就猶如其實最優秀的科學家從來都是數學家,但是處境喜劇裡面出現的往往是物理學家一樣 太抽象的東西,一般人理解不了 新聞炒作的也是諾貝爾獎,其實論難度,菲爾茲獎明顯比諾貝爾獎要難一點諾貝爾獎也是靠理論物理撐...

為何心梗大部分時間都在是在睡覺時發生的?

羅民醫生 研究表明,心梗更容易在夜間爆發,因人體處於睡眠狀態時,身體活動少,加上晚上不能及時補水,所以血液就會較為粘稠,增加了發生心梗的可能性。因此,在晚上睡覺時,一旦身體出現異常,要高度警惕心梗,及時檢查,切莫忽視!出現胸部疼痛,是心梗即將發生前的乙個典型的症狀。一般表現都較為相同,在胸骨正中間的...

程式設計師的工作掌握哪些就能應付大部分的工作了

帝林 其實我個人不喜歡在工作中使用應付這個詞,在我們的文化,應付是有敷衍了事或者說將就這一層含義。學無止境,知識迭代太快,我們此時學到的知識即使可以暫時解決當前的工作上的問題,何以面對往後的變化呢?你說他們是不是屬於那種掌握了一部分知識就可以解決工作中絕大多數問題的程式設計師?不可否認,是的。但注意...