您现在的位置是:首页 >学无止境 >好的代码风格,如同书法,让你的代码更加漂亮网站首页学无止境

好的代码风格,如同书法,让你的代码更加漂亮

努力学习游泳的鱼 2023-06-28 20:00:03
简介好的代码风格,如同书法,让你的代码更加漂亮

在这里插入图片描述

很多初学者的代码其实都不够“漂亮”,那是因为没有养成好的编码习惯。本篇博客以C语言为例,总结一些好习惯。其实,很多习惯都是肌肉记忆,举个例子:请你写一个程序,输入2个整数并输出它们的和。有些朋友可能写出来是这个样子。

#include<stdio.h>
int main()
{
	int a=0;
	int b=0;
	int sum=0;
	scanf("%d%d",&a,&b);
	sum=a+b;
	printf("%d
",sum);
	return 0;
}

我写这段代码,是在模仿有些朋友在初学的时候容易写成的样子。更有甚者,写成这个样子:

#include<stdio.h>
int main()
{
int a=0;
int b=0;
int sum=0;
scanf("%d%d",&a,&b);
sum=a+b;
printf("%d
",sum);
return 0;
}

让人看的不太舒服。甚至可以让你更加不舒服:

#include<stdio.h>
int main()
{
int a,b,sum;scanf("%d%d",&a,&b);
sum=a+b;printf("%d
",sum);
return 0;
}

这是什么感觉?嗯……你为啥不都写在一行呢?下面我来谈谈好的写法是怎样的。

空格

首先改进一下第一种写法,先加一些空格:

#include <stdio.h>
int main()
{
	int a = 0;
	int b = 0;
	int sum = 0;
	scanf("%d %d", &a, &b);
	sum = a + b;
	printf("%d
", sum);
	return 0;
}

我在#include和头文件之间、“双目操作符”两端、逗号后面、scanf的两个%d之间都加上了空格,感觉舒服一点了。这就是今天我要说的第一个习惯:在合适的地方添加空格!

什么是合适的地方呢?双目操作符两端,逗号后面,分号后面,关键字后面都可以添加空格。比如经典的for循环,糟糕的写法是:

for(int i=0;i<10;++i)
{}

首先,for作为关键字,后面可以添加空格,分号后面也可以添加空格,如下:

for (int i=0; i<10; ++i)
{}

等号和小于号属于双目操作符,两端也可以添加空格:

for (int i = 0; i < 10; ++i)
{}

这样是不是好看多了?

注意:++是单目操作符,++和i之间不要添加空格,多余的空格显得画蛇添足,多此一举。

空行

除此之外,可以在合适的地方添加空行,比如函数和函数之间,函数内部不同逻辑的代码之间。比如:

void test1()
{
	printf("test1
");
}

void test2()
{
	printf("test2
");
}

void test3()
{
	printf("test3
");
}

前面的例子中,头文件的包含和main函数之间可以添加空行。在main函数内部,变量的定义,输入值并且计算输出,main函数的返回属于不同的逻辑,中间可以添加空行。

#include <stdio.h>

int main()
{
	int a = 0;
	int b = 0;
	int sum = 0;
	
	scanf("%d %d", &a, &b);
	sum = a + b;
	printf("%d
", sum);
	
	return 0;
}

缩进

顺带一提,“缩进”也很重要。大括号内部的逻辑都要向右缩进,比如:

if (flag)
{
	printf("true
");
}

当然,如果省略大括号的情况,也要缩进。

if (flag)
	printf("true
");

过多的缩进也不好。比如switch case语句中,case一般和switch的大括号对齐,而不缩进。

switch (n)
{
case 1:
	printf("1
");
	break;
case 2:
	printf("2
");
	break;
default:
	printf("default
");
	break;
}

自然,在前面的例子中,main函数内部的语句都要添加缩进。

注释

还有最后一点:记得写注释!注释是用来解释代码的,要放在解释的代码的上边或右边,比如:

#include <stdio.h>

int main()
{
	// 定义变量
	int a = 0;
	int b = 0;
	int sum = 0; // 存放和
	// 输入数据
	scanf("%d %d", &a, &b);
	// 计算
	sum = a + b;
	// 输出数据
	printf("%d
", sum); // 输出后换行
	
	return 0;
}

如果注释在单独的一行,可以认为这一行是一个“空行”,就不用添加额外的空行了。当然,你想添加也行,比如:

#include <stdio.h>

int main()
{
	// 定义变量
	int a = 0;
	int b = 0;
	int sum = 0; // 存放和
	
	// 输入数据
	scanf("%d %d", &a, &b);
	
	// 计算
	sum = a + b;
	
	// 输出数据
	printf("%d
", sum); // 输出后换行
	
	return 0;
}

总结

  1. 双目操作符两端,逗号后面,分号后面,关键字后面都可以添加空格。
  2. 函数和函数之间,函数内部不同逻辑的代码之间可以添加空行。
  3. 大括号内部的逻辑都要向右缩进,但是过多的缩进也不好。
  4. 添加注释,注释是用来解释代码的。

感谢大家的阅读!

风语者!平时喜欢研究各种技术,目前在从事后端开发工作,热爱生活、热爱工作。