有关代码风格的问题

初生菜鸟 同时被 3 个专栏收录
14 篇文章 0 订阅
7 篇文章 0 订阅
12 篇文章 0 订阅

之前读同学的代码,发现很多人的代码风格很成问题,读起来很费劲,这里作为一个菜鸡想发表一下自己对于代码风格的一些看法。

为啥非要按某个格式,自成一家不好嘛?

书法画作自成一家完全没问题,但在信息时代下的我们面对海量的数据和高速大量的交互时,易于理解和规范成了交流的前提之一,其实也无需多说,百度百科就有:代码风格_百度百科

附图一张
我相信,这并非是一个“无关紧要”的事情。或许我们将来不一定会做程序员,但这是学这个专业应有的素质和良好习惯,将来即使做别的工作,行业素养也是可以转移类比的。
比如你写了某些很恶心的代码,如果你做开发,那就等着被项目经理骂吧,,,,,
代码的规范和人的伦理道德是类似滴,人无德虽不犯法,但仍与有耻焉。

各种奇奇怪怪的神代码

#include<stdio.h>
int main(){
int a;a=3;if(a>1)
printf("%d\n",a);
return 0;}

//不缩进不换行真的不难受嘛,,,

#include<stdio.h>
int main(){
int a,s;scanf("%d",&a);
if(a==0)s=1;else
if(a==1)s=2;
else if(a>5)s=3;
else s=0;

话说这后面半个大括号和return 0; 也没写,,,/捂脸

forint i=1;i<=100;i++if(i%2==0)s+=2;sum++;
if(i%3)s+=3;

乱,,,加点括号会好一点,另外符号要分全半角的,,,,不然肯定报错哇

所以应该怎么写?

作为一个新手,一般比较普遍的代码风格就够了,(当然有的大佬并不会墨守成规,比如某清华dalao从来不缩进)

硬生生放代码

这里贴几段我写的代码
(应该还算比较标准)

C

#include <stdio.h> //这是C语言的
int main()
{				//或者可以把这个括号不换行放在int main()的后面
	int a,b;
	scanf("%d%d",&a,&b);//不要问我为啥两个%d之间我没加逗号
	printf("%d\n",a+b);
	return 0;
}

C++

#include <iostream>//这是C++的,其实和C差不多,都是一家的,,,,
using namespace std;
int main()
{
	int a,b;
	cin>>a>>b;
	cout<<a+b<<endl;
	return 0;
}

JAVA

class HelloWorld{   //由于Java的API文档采用左括号在这里的方式所以一般写Java的时候也这么写
			//但是俺还是觉得左括号放这一行好看
        public static void main(String[] arr){
            System.out.print(" HELLO WORLD");
        }

    }

这里写一下循环和选择的标准 形式
if 的:

	if(a == 0)//随便写了一个,重点不是内容是格式
	{			//同样,这个括号也是可以放在上一行末尾的
		s = 1;
		x += 1;
		if(b == 0)
		{
			if(c == 0)
			{
				s = 45;
				x += 34;
			}
		}
	}
	else if(a == 1)
		{
			s = 2;
			x += 2;	
		}
		else if(a == 2)
			{
				s = 3;
				x += 3;		
			}
			else {
				s = 0;
				x += 0;
			}				//层层的括号和缩进会让逻辑变得清晰一点

循环的

	for(int i=1;i<=10;i++)
	{
		for(int j=1;j<=10;j++)
		{
			sum++;
		}
	}

也可以写的松散一点

	for (int i = 1 ; i <= 10 ; i + + )//空格随便加,不嫌散就行
	{
		for (int j = 1 ; j <= 10 ; j + + )
		{
			sum++;
		}
	}

(PS:建议在双目运算符左右加空格,逗号后面加空格,大致在紧凑和松散之间,比如 if (a + b >= c) )
运算符、判断符等与变量之间加个括号会非常非常方便阅读,亲身有体会。

变量命名

变量的命名也是增强代码可读性的一项重要标准,一般打竞赛的人怎么方便怎么来,a,b,c,d,e,f,g,aa,bb,cc,dd,aaa,ccc,ddd,(本人也喜欢这么干嘿嘿)
但是以后做开发以及写一些大型的项目代码,如果你依然这么写,不遵从命名规则的话,那你就等着被骂吧。。。。
目前主要的命名方法主要有:驼峰命名法,帕斯卡命名法,匈牙利命名法,具体怎么操作请自行百度。
大一倒是不用太过死磕,但是要知道有这么个规矩。
另外贴个很好玩的知乎回答:算法竞赛编程变量命名指南
更规范的可以参考谷歌C++风格规范指南
由于“东方的神秘力量”你可能进去的很慢或者进不去,那么:
谷歌代码规范博客
关于代码编写的风格问题博客

缩进和注释

每往下写一层就缩进一层是一个非常好的习惯,另外有些同学可能都不知道键盘上的“Tab”键是用来缩进的,,,,,
有关缩进感觉没啥能说的,就写一层if-else / for按一次tab呗。。。
而注释主要是给别人和自己看的,要让别人看一眼就知道自己写了什么,那才算是一个成功的注释。

注意事项

因为自己很菜所以就只想到几点
1.句末不要漏分号,写完一句最好换行(这是常识了吧)
2.括号什么的一定要一对一对地写,平时可能不一对一对地写没有啥影响,但当你有时候嵌套了好多好多层选择+循环+…的时候不知道自己还要写几个大括号的你一定会崩溃的,相信我。(所以一个好使的编译器非常重要!!代码补全可以没有但是自动补全后面的另一半括号很重要哇~有关编译器的推荐请走这边:小白编译器推荐
3.缩进缩进缩进,我们的队伍向太阳
缩进不单单是为了好看,更是为了让层与层之间的结构清晰,当嵌套的多的时候,函数或者算法复杂的时候,完美的缩进着实让人开心。
4.不同的人风格不同,有的人喜欢写的紧凑一点,有的人喜欢加空格便于阅读,看个人习惯吧。
5.有的自己觉得容易混淆或遗忘的地方记得加注释,注释是一个非常重要的东西,拿破仑说过:“没有注释的代码不是好代码”。
6.这篇还很不完善,欢迎私戳怼我:QQ 2365260680

  • 0
    点赞
  • 0
    评论
  • 0
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

©️2021 CSDN 皮肤主题: 黑客帝国 设计师:白松林 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值