魔鬼存於細節

2021-04-01 00:07:39 字數 1478 閱讀 2907

在中國,有很多諸如「涓涓細流,匯成大海」、「小不忍則亂大謀」、「一屋不掃,何以掃天下」、「不積矽步,無以至千里」、「千里之堤,潰於蟻穴」等強調細節之重要性的話。那些看起來很「細」和「小」的東西足以讓人們「成大事」也可以「亂大謀」。

傑克·韋爾奇認為:「沒有什麼細節會因其細小而不值得你去揮汗,也沒有什麼大事大到盡了力還不能辦到。」人生哲學如此,程式設計哲學亦如此。

臨近畢業,下半年也有著落,關於圖形學方面的畢業設計程式也就成為頭等大事。

如下函式就是程式中所用到的讀檔案函式,其中bunny.obj是待讀檔案,主要內容是點的座標以及構成面的三個點的序號。

void readfile(void)

cvorf = fgetc(stream);

while (cvorf != eof)

else if(cvorf == 'f')

cvorf = fgetc(stream);

}fclose(stream);

return;

}其中,point,face是長度為65535的點結構和面結構陣列.

此函式在一般情況下,絕對是乙個很好的程式。但單步跟蹤除錯程式時,每當執行到fclose(stream);時,系統就彈出訪問記憶體訪問非法的類似錯誤。是何阻止程式繼續執行呢?經過和小組其他成員的共同考證,程式無錯誤,可能是陣列長度太小,於是將65535改為70000,再執行程式,果然撥雲見日,程式執行達到預期效果。

這個65535是不是乙個小的細節呢?它足以打擊你的積極性。

再來看如下的乙個語句:

absv = sqrt(tvpointx * tvpointx + tvpointy * tvpointy + tvpointz * tvpointz); (1)

這條語句是為了將已計算出的法向量進行單位化的中間步驟。其中tvpointx、tvpointy、tvpointz、absv是如此宣告的:

double tvpointx = 0.0, tvpointy = 0.0, tvpointz = 0.0, absv = 0.0; (2)

語句(1)執行前tvpointx = 0.0066344103646117, tvpointy = -0.0028678808775453, tvpointz = 0.00093772149065785,執行後absv = 1057686143.0000。但如果用計算器將(1)計算出來後,結果會令人吃驚,absv = 0.00728830942618273!為什麼會有如此大的差異呢?可以肯定的是計數器出的結果是正確的。那程式是哪出錯了呢?苦思冥想下,改了又改,終於是懷疑到了函式sqrt(),將math.h標頭檔案補上,除錯,程式達到了預期效果。在這裡的標頭檔案是不是乙個小事呢?它是否可以讓你意志馬上消沉呢?

老子說:「天下大事,必作於易;天下大事,必作於細。」乙個人要成氣候,除了鍛鍊帷幄大局,巨集觀決策和開啟思路的能力外,注重小事和細節也同等重要甚至比之更為重要。

「魔鬼存於細節,細節造就天使。」細節不是小事,若你忽略了它,它便會給你狠狠一擊,讓你悔不當初。越是專業得人越懂得關注細節,也正是那些細節,造就了最終結果的不同。

魔鬼的細節 1 2

有些國家有些人確實做得不同凡響,成功地秘訣就在於細節。魔鬼的細節 魔鬼的細節 細節 一周的南韓之行,有無數次上下地鐵的經歷。當我們好容易學會使用交通卡時,卻發現有人竟用手機當門票。他拿手機在感應器處晃一下,柵欄門就自動放行了。可能這種手機帶有電子貨幣功能吧。魔鬼細節之反面 央視主持人說 播音員當年曾...

魔鬼的細節 1 2

有些國家有些人確實做得不同凡響,成功地秘訣就在於細節。魔鬼的細節 魔鬼的細節 細節 一周的南韓之行,有無數次上下地鐵的經歷。當我們好容易學會使用交通卡時,卻發現有人竟用手機當門票。他拿手機在感應器處晃一下,柵欄門就自動放行了。可能這種手機帶有電子貨幣功能吧。魔鬼細節之反面 央視主持人說 播音員當年曾...

魔鬼在細節中

最近一直擔心dubbo分布式服務框架後續如果維護人員增多或變更,會出現質量的下降,我在想,有沒有什麼是需要大家共同遵守的,根據平時寫 時的一習慣,總結了一下在寫 過程中,尤其是框架 要時刻牢記的細節,可能下面要講的這些,大家都會覺得很簡單,很基礎,但要做到時刻牢記,在每一行 中都考慮這些因素,是需要...