成功軟件開發(fā)者的9種編程習慣
筆者是喜歡第二種方式。因為一段語句的開始和結束很明顯。我們不能要求每個程序員都用某一種方式來編程,但一個程序里一定要統(tǒng)一。還有,看別人編的程序時要想到他人編程的習慣也許與你不同。
4. 不亂用if語句
有些人很喜歡用“if”語句,如下:
if(a == 0)
{
a++;
return(a);
}
if(a == 1)
{
a += 5;
return(a);
}
if(a == 2)
{
a += 10;
return(a);
}
if(a == 3)
{
a += 20;
return(a);
}
if(a == 4)
exit(1);
有沒有比這更好的辦法呢?else if語句?不是。好的方法是用“switch-case”語句來寫簡便的程序:
switch(a)
{
case 0: a++;
return(a);
case 1: a += 5;
return(a);
case 2: a += 10;
return(a);
case 3: a += 20;
return(a);
default: exit(1);
}
如果沒有與a一致的值,會執(zhí)行default里定義的作業(yè),上面的例子是要執(zhí)行結束。
5. 不亂用程序切斷(Block)
很多人經(jīng)常亂用程序切斷。使用三個以上的切斷是比較難以看懂的程序。請看下面例子:
int a = 10;
int b = 20;
int c = 30;
int d = 40;
if(a == 10)
{
a = a + d;
if(b == 20)
{
b = b + a;
if(c != b)
{
c = c + 1;
if(d > (a + b))
printf("Made it all the way to the bottom!n");
}
}
}
這也許是夸張了,但確實有很多人真的這樣做。那如何寫得更好一點呢?一種方法是用函數(shù)來分寫:
void next(int a, int b, int c, int d)
{
if(c != b)
{
c = c + 1;
if(d > (a + b))
printf("Made it all the way to the bottom!n");
}
}
int main()
{
int a = 10;
int b = 20;
int c = 30;
int d = 40;
if(a == 10)
{
a = a + d;
if(b == 20)
{
b = b + a;
next(a, b, c, d);
}
}
return(0);
}
要這樣寫,也許會增加工作量,但程序編得結構化,容易看懂,而且如果函數(shù)做得更好,也可以在其他地方再使用。
6. 寫好注釋
要養(yǎng)成寫注釋的習慣。特別是別人難以理解的程序或變量一定要注釋,一個月后,也許你自己也需要看那注釋呢。
int x = 100;
int y = 1000;
if(x y)
a = 0;
else
a = 1;
你能知道上面的程序意味著什么?如果不知道變量x,y和a指的是什么,那么很難理解。讓我們給它標個注釋再看吧:
/*
* 檢測損益的程序
*/
int x = 100;
/* x 是賣書的總額*/
int y = 1000
/* y是做書本的費用*/
int a;
/* 確認是否有贏利*/
/* 比較x和y: */
if(x y)
/* 1指損失 */
a = 1;
else
/*0指贏利 */
a = 0;
評論