本文章旨在帮助新手提高C语言代码质量,提高代码的可读性,加入了自身的理解。
空行和空格的运用
我们来观察几段代码,来看看空行的作用。
没有空行:
void print()
{
printf("begin\n");
}
int main()
{
print();
int arr1[10] = { 0 };
int arr2[10] = { 1,2,3,4,5,6,7,8,9,10 };
int i = 0;
int lon = sizeof(arr1) / sizeof(arr1[0]);
for (i = 0; i < lon; i++)
{
arr1[i] = arr2[i];
}
for (i = 0; i < lon; i++)
{
if (arr1[i] > 5)
{
printf("%d ", arr1[i]);
}
else
{
printf("%d ", (arr1[i] - 1));
}
}
return 0;
}
可以发现很挤,而且很难看出内容
而如果过于疏散,也是不好的
int main()
{
print();
int arr1[10] = { 0 };
int arr2[10] = { 1,2,3,4,5,6,7,8,9,10 };
int i = 0;
int lon = sizeof(arr1) / sizeof(arr1[0]);
for (i = 0; i < lon; i++)
{
arr1[i] = arr2[i];
}
for (i = 0; i < lon; i++)
{
if (arr1[i] > 5)
{
printf("%d ", arr1[i]);
}
else
{
printf("%d ", (arr1[i] - 1));
}
}
return 0;
}
那我们写出什么样的是好的呢?我们怎么来运用空行呢?
1.声明后,函数定义后加入空行,例如,我们写出的print函数后空了一行
2.函数体内,逻辑密切相关的不加空行,例如我们写的if函数中关系密切,不能空行
3.尽量一行只干一件事,例如,我们当然可以在一行定义很多的东西,但是我们仍然换行
4.if,for,while,do等各占一行,我们写后换行然后写的大括号
void print()
{
printf("begin\n");
}
int main()
{
print();
int arr1[10] = { 0 };
int arr2[10] = { 1,2,3,4,5,6,7,8,9,10 };
int i = 0;
int lon = sizeof(arr1) / sizeof(arr1[0]);
for (i = 0; i < lon; i++)
{
arr1[i] = arr2[i];
}
for (i = 0; i < lon; i++)
{
if (arr1[i] > 5)
{
printf("%d ", arr1[i]);
}
else
{
printf("%d ", (arr1[i] - 1));
}
}
return 0;
}
使用空行来分割段落,但注意不要使用的过多或过少
空格在什么时候会使用?
1.关键字后要空格,例如:if,for,while我们空格后才写出(,但是,函数名后紧跟左括号
if (~~~~~~~~~~~~)
2.如果左括号紧跟右括号,顿号等符号,紧跟,不要空格
void print();
3.赋值操作符,比较操作符,算数操作符,逻辑操作符等前后都要空格
a += 2;
4.如果for和if较长,可以适当去掉一些空格,来便于阅读
for(i=0; i<10; i++)
命名的介绍
很多时候,我们需要给变量进行起名,很多时候,为了容易,新手很可能以a,b,c等多个符号,往往这只是在代码简短的时候,还是比较容易进行代码阅读的,但是当代码更加复杂的时候,我们可能会出现以下情况
const int a = 10;
do something;
if()
{
do something;
}
do something;
int a = 5;
我们多次定义了变量a,可能会导致更改了前面的内容,后面我们进行代码阅读的时候也会出现困难
因此,我们应该如何来命名呢?
我的代码习惯是,类名和函数大写+小写,变量用小写+下划线,常量用大写+下划线
void print()
{
;
}
int lon_of_arr = 0;
const int MAX = 100;
当然,我们尽量减少数字编号,例如arr1,arr2等