轉載:https://blog.csdn.net/everpenny/article/details/6316698
2 不要倉促地編寫代碼
char *unsafe_copy(const char *source)
{
char *buffer = new char[10];
strcpy(buffer, source);
return buffer;
}
char *safer_copy(const char *source)
{
char *buffer = new char[10];
strncpy(buffer, source, 10);
return buffer;
}
大多數語言都提供了一條switch語句;這些語言都將碰到default case的執行情況。如果default case是錯誤的,在代碼中將錯誤情況明示出來。如果一切都正常,也要在代碼中明示順利執行的情況,只有這樣維護代碼的程序員才會理解程序的執行情況。
這條簡單的建議將確保你的讀者可以明白你所編寫的所有代碼。他們做出的錯誤設想會更少。
即使是最基本的計算,也會使數值型變量上溢或下溢。對此要非常注意。語言規范或核心庫提供了一些機制,用來確定各個標準類型的大小——別忘了使用這些機制。確保你了解所有可用的數值類型,以及每種類型最適合的情況。
C或C++語言的程序員真的應該對常量的設置保持高度警惕,這會讓日子好過很多。盡可能將所有可以設置成常量的都設為常量。這樣做有兩個好處:首先,常量的限制條件可以充當代碼記錄;其次,常量使編譯器可以找到你所犯下的愚蠢錯誤。這樣,你就可以避免修改超出上下限的數據了。
往期推薦