代码风格并不影响程序的运行,也不会给你的程序带来潜在的危险。但一段好的代码风格,能让人阅读起来特别舒服,特别的阅读别人代码的时候,有些人的代码可以说是完全不注意空格、缩进、大小写的,看起来特别不舒服。
给人好的印象,从一段代码风格开始。今天我总结了几个最常用到的代码规范、可以说你每时每刻都会接触到的了,也比较简单,如果你平时没有按这些规范写的话,建议慢慢改过来。
1. 类名类名采用大驼峰的命名形式,所谓大驼峰就是首字母大写,例如UpperCameCase。
抽象类命名使用 Abstract 或 Base 开头;异常类使用 Exception 结尾;测试类命名以测试的类名开始,以 Test 结尾。
枚举类名带上 Enum 作为后缀,枚举成员名称需要大写,单词间用下画线隔开。
2. 包名包名统一使用小写,点分隔符之间有且仅有一个自然语义的英语单词。一般单词使用单数形式,但是类名如果有复数含义的话,则可以使用复数形式。
3. 变量变量可分为不可变量(常量)和可变变量。
(1). 常量
在 Java 中,常量一般指 final 关键字修饰的变量。
1、全局常量和类内常量的命名采用字母全部大写,单词之间加下画线的方式。
所谓全局常量指的是类的公开静态属性,使用 public static final 修饰;类内常量指的是私有静态属性,使用 private static final 修饰。
2、局部常量则采用小驼峰的形式。所谓局部常量指的是方法内的常量。
例子展示(代码片可以左右移动):
1public class Constant {
2 //全局常量
3 public static final String MY_NAME = "shuaidi";
4 //类内常量
5 private static final String MY_SEX = "男";
6
7 public void tt(){
8 //局部常量
9 final String myName = "shuaidi";
10 }
11}
(2). 可变变量
可变变量一般常用小驼峰的命名形式,如 myName ,小驼峰和大驼峰的区别就是,小驼峰首字母小写,而大驼峰首字母大写。不过需要注意的是,针对布尔类型的变量,在命名的时候,不要用 is 做前缀,否则部分框架在解析的时候会引起序列化错误。
例如标识是否删除的成员变量 Boolean isDeleted, 它的 getter 方法也是 isDeleted(),框架在反向解析的时候,会误认为对应的属性名称为 deleted,从而引起错误。
4. 空格
我发现很多人在写代码的时候,在运算符、赋值、参数等之间很少使用空格来隔开各种元素之间的距离,例如
1//错误例子示范,注:里面的代码之间没啥联系,都是随意给出的。
2int a=1
3int b=a==1?1:2;
4if(a==1&&b==2){
5 print(a,b);//调用打印函数
6}else{
7
8}
9public static void print(int a,int b){
10 System.out.printf(a+b);
11}
像上面的这个例子中,就是几乎没用到空格的,代码看起来很紧,反正我看起来是很不舒服,特别的当代码很多的时候。
下面是我给的关于加空格的几点建议:
1、二目、三目运算符的左右两边都应该加一个空格。
2、注释的双斜线与注释内容之间有且仅有一个空格。
3、方法参数在定义和传入参数时,多个参数逗号后边都应该加空格。
4、如果大括号为空,则简洁地写成{}即可,大括号中间无须换行和加空格。
5、左右小括号与括号内部的相邻字符之间不要出现空格。
6、左大括号前需要加空格。
所以,修改后如下:
1int a = 1;
2int b = a == 1 ? 1 : 2;
3if(a == 1 && b == 2) {
4 print(a, b);
5} else {}
6
7public static void print(int a, int b) {
8 System.out.printf(a + b);// 调用打印函数
9}
这样看起来舒服多了,特别是在括号内参数多的时候。
5. 控制语句控制语句可以说是最容易出现 bug 的地方,所以代码风格的约束极为重要,而不是天马行空地乱跳。因此,控制语句必须遵循如下约定:
1、在 if, for, while, do-while 等语句中必须使用大括号,即使只有一行代码,也应该加上大括号。例如:
1int sum = 0;
2for(int i = 0; i editor->Code Style->选择你想编辑的语言);而在 Eclipse 中,就得勾选 Insert spaces for tabs。
7. 关于大括号

讲究对称美,当然是第一种好。这样书写不仅层次明确,更便于检查括号个数是否匹配。其实,只要看看微软自动生成的框架采用第一种风格,你就可以知道哪一种好了。当然也看个人习惯,C C++ C# 一般用第一种 Java Objective-C 一般用第二种。但不可混用。

引用:
https://mp.weixin.qq.com/s?__biz=Mzg2NzA4MTkxNQ==&mid=2247485139&idx=1&sn=b57e89a681c8f97397c6ee61734bf3f5&source=41#wechat_redirect