成功软件开发者的9种编程习惯
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一致的值,会执行default里定义的作业,上面的例子是要执行结束。
5. 不乱用程序切断(Block)
很多人经常乱用程序切断。使用三个以上的切断是比较难以看懂的程序。请看下面例子:
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");
}
}
}
这也许是夸张了,但确实有很多人真的这样做。那如何写得更好一点呢?一种方法是用函数来分写:
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);
}
要这样写,也许会增加工作量,但程序编得结构化,容易看懂,而且如果函数做得更好,也可以在其他地方再使用。
6. 写好注释
要养成写注释的习惯。特别是别人难以理解的程序或变量一定要注释,一个月后,也许你自己也需要看那注释呢。
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;
这样注释,不懂C语言的人也会看懂各语句意味着什么,各变量指的是什么。写注释是好习惯,但不要什么都注释。注释是为了好理解,不是为了写长编文章。
int profit = 1;
/**//* 赢利等于1 ?? */
int loss = 0;
/**//* 亏损等于 0 ?? */
![]()
/**//* 如果赢利等于1 */
if(profit == 1)
/**//* 打印出“得赢利啦”??*/
printf("We made a profit!\n");
/**//* 如果不是 */
else
/**//*打印出“我们亏损啦”*/
printf("We made a loss!\n");
这样注释是浪费时间。一般是定变量或变量值的时候需要注释,还有说明程序的目的,使用某个函数,procedule等的时候也需要。
0
相关文章
