成功軟件開(kāi)發(fā)者的9種編程習慣
有些人會(huì )想:只要程序運行結果好,就不管原程序編得怎樣。但絕對不是這樣的。軟件不是一次性就作完的,有必要做修改,擴展等管理。所以原程序要盡量作成易看懂,管理方便。
這樣做,第一是為了軟件開(kāi)發(fā)者方便,其次還會(huì )影響到軟件的性能。管理不方便的程序不會(huì )作出好的軟件。
希望通過(guò)這篇文章能學(xué)到好的編程習慣。要理解這文章的內容,你至少要懂得1個(gè)開(kāi)發(fā)工具語(yǔ)言。這里舉例說(shuō)明的都是C語(yǔ)言,但你對C語(yǔ)言沒(méi)有了解也不要擔心。這里說(shuō)明的是原理而不是特定的語(yǔ)言。
1. 語(yǔ)句要結束得徹底---(冒號;)
程序員經(jīng)常有的失誤之一是忘記在語(yǔ)句結束后加一個(gè)冒號。這樣的問(wèn)題點(diǎn)不易發(fā)現,時(shí)而讓程序員不知所措。編程時(shí)要時(shí)時(shí)注意每個(gè)語(yǔ)句是否以冒號結束,雖然不是所有語(yǔ)言都以冒號結束。下面有忘記點(diǎn)冒號的例子。
int main(void)
{
/* 沒(méi)有冒號,導致問(wèn)題*/
printf("Hello World!n")
return(0);
}
很多的人犯這樣的錯誤。不到幾條的程序是不難發(fā)現這樣的問(wèn)題,但1000條以上的程序里呢?查找那忘記寫(xiě)冒號了的語(yǔ)句不會(huì )是很容易的事。記住,結束一條語(yǔ)句,一定要寫(xiě)冒號,如同一般文章結束后點(diǎn)句號一樣。
還有一種關(guān)于冒號的失誤是不該寫(xiě)冒號的時(shí)候寫(xiě)冒號。有經(jīng)驗的程序員看到下面例子會(huì )覺(jué)得好笑,但筆者確實(shí)看到了很多這樣的失誤。
/* main() 后面不該寫(xiě)冒號 */
int main(int argc, char *argv[]);
{
printf("Hello World");
return(0);
}
函數或Method后面是不該寫(xiě)冒號的。
2. 要適合使用空格和tab鍵
C語(yǔ)言是不分辨空格的,因此程序也可以不需要空格一直寫(xiě)下去,但這樣的程序會(huì )是誰(shuí)都看不懂的"很有難度"的程序,請看以下例子:
if(x==0) {a=b=c=d=MAX; x++;}
這樣寫(xiě),也許會(huì )節省空間,但不僅別人,編程的本人也會(huì )很難看懂。程序要寫(xiě)得容易看懂!
if(x == 0)
{
a = b = c = d = MAX;
x++;
}
這樣寫(xiě),看起來(lái)不很清楚嗎?程序要有確切的空格才容易看得懂。
3. 統一使用大括號和切斷方式
每個(gè)程序員使用大括號({})和改行的方式都有自己的習慣,這樣,把程序移交給別人繼續做的時(shí)候,會(huì )出現混亂。比如象以下例子:
int main()
{
int x = 1;
int y = 10;
while(x y ){
printf("Value of x is %dn", x);
x++;
}
}
有些程序員會(huì )這樣寫(xiě)大括號:
int main()
{
int x = 1;
int y = 10;
while(x y )
{
printf("Value of x is %dn", x);
x++;
}
}
評論