代码整洁之道整理点

目录

1.命名

2.函数

3.注释

4.格式

4.1 垂直格式

4.2 横向格式

5.对象和数据结构


1.命名

1.命名原则:在明确表达意思的前提下尽量精简

2.名称添加前后缀增强语境,如:add、update、result等,例如:只有List类型变量才能命名为xxxList,譬如一组账号,用accountGroup好一些,除非这一组账号是List类型

2.函数

1.函数要短小,函数的缩进层级不该多于两层,若业务逻辑复杂,做方法抽离

2.函数只做一件事,一件事:即同一抽象层上的一系列步骤

3.开放闭合原则:对扩展开放,对修改闭合;

单一权责原则:一个类,只有一个引起它变化的原因。应该只有一个职责。每一个职责都是变化的一个轴线,如果一个类有一个以上的职责,这些职责就耦合在了一起。当一个职责发生变化时,可能会影响其它的职责。另外,多个职责耦合在一起,会影响复用性。

4.函数命名:描述性名称,函数越短小,功能越集中,就越便于取个好名字;长而具有描述性的名称要比短而令人费解的名称好

5.函数参数:最理想的参数数量是零(零参数函数),其次是一(单参数函数),再次是二(双参数函数),应尽量避免三(三参数函数),尽量不使用三个以上(多参数函数),三个或三个以上参数就要考虑封装实体类

6.不要向函数里传入布尔类型参数,应该根据true和false分成两个函数

7.最好能将try/catch代码块的主体部分抽离出来,代码更利于理解和修改,如下代码,将test1业务代码抽离出来

public void test(){
    try{
        test1();
    }catch(Exception e){
        logError(e);
    }
}

private void test1(){
    ...
}

8.错误处理就是一件事,所以一个try/catch块就应该是一个函数,如7代码所示,test方法

3.注释

好注释:声明版权之类的信息;对意图的解释;对于使用代码的一些警示;todo注释等等

4.格式

4.1 垂直格式

1.用大多数为200行、最长500行的单个文件构造出色的系统

2.每组代码行展示一条完成的思路,这些思路用空白行区隔开

3.空白行隔开概念,靠近的代码行则暗示了他们之前的紧密关系

4.垂直距离:

变量声明应尽可能靠近其使用位置;

循环中的控制变量应总是在循环语句中声明

实体变量应放在类的顶部声明;

相关函数:若一个函数调用了另一个函数,就应该将他们放在一起,而且调用者应该放在被调用者的上方;

概念相关的代码应该放在一起,例如重载函数,拥有共同的命名命名模式,执行同一基础任务的不同变种函数。

4.2 横向格式

1.应该尽力保持代码行短小,一行字符的上限为120个

2.空格字符将紧密的事物连接到一起,也将相关性较弱的事物分隔开

赋值操作符前后的空格字符加强了分隔效果;

函数名和做圆括号之间不加空格,表示函数与其参数密切相关。

5.对象和数据结构

1.数据抽象:类并不能简单的用取值器和赋值器将其变量推向外间,而是暴露抽象接口,以便用户无需了解数据的实现就能操作数据的本体。例如以下代码:eg2比较好,以抽象形态表述数据

// eg1:具象机动车
public interface vehicle {
    double getFuelTankCapacityInGallonds(); // 获取油箱容量
    double getGallondsOfGasonline(); // 获取汽油
}


// eg2:抽象机动车
public interface vehicle {
    double getPercentFuelRemaining(); // 获取剩余燃料百分比
}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值