軟體執行時展現出來的極嚴重的錯誤,在**中,也許只是乙個字元的錯誤!
就像是vector,一開始的咫尺,到最後就是天涯!
又像是蝴蝶揮動的翅膀,最終導致的颶風!
程式設計師的職業素質,就是有架構師的視野,自頂至下的計畫,精密的邏輯,同時還要有抽絲撥繭的技術。
難纏的錯誤列表
1、溢位錯誤
在該例項中,移位操作針對int整數操作,導致數值溢位錯誤。
int b = 0;int n = 0
;...
n |= (b & 31)
long n = 0
;...
n |= (b & 31l) << k;
以上兩段**唯一的區別就是在31後面加了l表示長整型數。如果不用長整型數,在向左移位時就會導致移除錯誤。由於程式邏輯沒有問題,只是執行結果是錯的,除錯起來極其麻煩。在程式設計中,使用移位操作時記得使用較大的型別避免溢位錯誤的發生。
2、?:運算子使用
在該例項裡面,realnumbervalue記錄了統計結果的值,結果使用三元運算子返回了錯誤的結果導致統計結果始終無法顯示。
publicdouble
realnumbervalue
}
在使用?:三元運算子是,一定要避免將返回結果寫反的情況,否則將導致返回結果不對的情況。如果不是特別熟練,請使用if..else取代?:的使用。
3、連續邏輯判斷
在下面的例子中,有兩個使用||鏈結起來的判斷,錯誤發生在連線符上,起初使用的&&。
if (texturedata == null || !texture.update(texturedata, true)) flag = false;
連續邏輯判斷很容易混淆連線符後面的語句的執行條件,因此如果無法直觀的確定後面邏輯的執行條件,請使用兩個語句來表示連續邏輯判斷,避免邏輯錯誤。
網路斷了,咫尺還是咫尺,天涯還是天涯
發生,中美光纜就連主線帶備份都斷了。對於偶來說,最直接的感受就是 msn 上不了了,國外站點無法訪問了。不過慶幸的是 對廣州造成的影響也不過僅此而已,沒有房屋倒塌,沒有出現海嘯,沒有人受傷。沒有了網路,一切工作生活仍在照舊,新一輪的 it 又進行著。只不過有網路時,天涯也像咫尺,而網路斷了,咫尺還是...
愛,近在咫尺又遠在天涯
韓軒是乙個有點小浪漫的人,他總會時不時的想些小把戲,小創意,假裝在不經意間,給措手不及的蕭靜意外的驚喜。他會在蕭靜生日的時候,無論蕭靜怎麼暗示提醒,他都假裝不記得,讓蕭靜委屈得躲在家裡偷偷流眼淚。然後,會在那天的最後一小時出現在蕭靜門口,手裡捧著他特意去學摺的,代表愛你一生一世的十一朵玫瑰花,不顧蕭...
咫尺天涯 三世桃花
落地殘花 指尖蒹葭 誰又錯了誰的天涯 千山晚霞 一世紛雜 誰又把誰刻在心頭畫 身影又描摹他 留不住他 換得又一身的牽掛 咫尺天涯 三世桃花 落成燼亦無人回答 灼傷這一池寂寞又浮現誰的臉 撼輪迴依然 訴不清這纏綿 這瞬間謝在掌心的流年漸漸 化風吹散不去的離別 鈴聽塵沙 一生牽掛 已望不見你的天涯 是誰...