转:总结一下自己的代码最佳实践

昨天XX面试时,一道这样的问题难住了我,就是:在这么多年的编码中,说说自己的最佳实践。当时懵掉了,虽然看过很多敏捷开发、代码清洁之道、代码大全这些关于最佳实践的书,但却一条也说不出来。趁现在有时间,想想这个问题,总结一下自己的代码最佳实践。

 

  1. 一致的代码格式。
  2. 形成自己的工具类

开发时,为了减少代码量,多使用第三方的类库,如 Apache Commons 等,里面提供了简化操作的类。形成自己的工具类目标是简化代码开发,对一些通用功能进行封装。

  1. 业务逻辑与技术实现相分离

如果一个函数或者一个类主要用来描述业务逻辑实现,那么最好不要在该方法有过多的技术细节实现。例如注册读者的功能,检查有效性、插入到数据库、发送邮件等这些算是业务逻辑。而针对每一个业务逻辑的技术实现细节最好和业务逻辑实现分开。这样使代码更加清晰。

  1. 保持类和函数的短小,尽量提取可复用组件或者函数

类短小,可以控制类的单一功能和类的简单性。越简单越有助于重用。编写代码时,对每个代码段考虑这个代码段会重复出现吗?重复出现时,哪些参数需要变化?该怎么抽象这段代码呢?

  1. 用设计模式去思考要解决的问题。而不是用流程去思考问题。
  2. 优先使用组合,而非继承。继承意味着会给新建类带来新的方法,这些方法真的适用于这个新建的类吗?
  3. 编写类时,应考虑这个类会不会在多线程下使用,如果在多线程环境下会不会有问题,如果有问题,该怎么解决。
  4. 慎用 StringBuffer/Vector/HashTable ,这些类尽管在多线程下没有问题,但在单线程环境下可能效率不高。在单线程环境下,使用 StringBuilder/ArrayList/HashMap. 如果是多线程环境,考虑使用 JCF 中的同步类。
  5. 变量名、函数名、类名表意。写出来的代码要达到不用注释就能看懂。
  6. 命名时,避免使用类似 ReaderInfo ReaderClass 这样的类名。 Info Class 是语义的重复,无需在命名时使用。
  7. 边开发边重构。写代码时,如果发现有些不妥的地方,要及时重构和修改、测试。有时会想,先做完再重构,忘掉这种想法。这种想法不可取。越往后拖,越不易重构,越懒得重构。
  8. 应考虑写出的代码可能面临的性能问题。使用这个类合适吗?有更简单更有效的代码改进吗?循环的结构修改一下会不会会提高效率,要不要定义临时变量或者状态字段存储处理结果以减少多次运算?……
  9. 常见的类名前缀或者后缀: Simple*** Default***, ***ServiceProvider ***Utils, ***Templage, ***Template

, ***Model ***Factory, ****Adapter . 接口在声明是多使用 ***able ,表示实现类具有该能力,如 Runable ,Configurable,Customizable   Imutable 等等。而实现类的声明多使用 ***Runner,****Configuration 等名词结构。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值