代码整洁之道

来源:互联网 发布:华天 英国 知乎 编辑:程序博客网 时间:2024/05/02 04:42

一、什么是整洁的代码

有多少程序员,就有多少定义。但共性都有以下几点:
- 高效(性能)
- 优雅&简单直接(可读性)
- 消除重复

二、怎么才能写出整洁的代码

1.有意义的命名

  • 名副其实 —- 命名要有实际意义 重构方法实现时方法名是否还能否清晰表意,是否需要同步修改
  • 避免误导 —- 命名不全、不合适的缩写
  • 有意义的区分 —- ProductData、ProductInfo 避免废话冗余,NameString or Name
  • 读的出来的名称 —- 切记不要造词 genymdhms —> generateTimestamp
  • 避免思维映射 —- 不应当让读者把你的命名翻译成他们熟知的的名称
  • 有意义的语境 —- name or companyName or productName

PS:类名:名词或名词短语,避免使用Mananger、Processer、Info等
方法名:动词或动词短语

2.函数

  • 短小 —- 少嵌套
  • 只做一件事(单一职责)
  • 函数中的语句处于同一抽象层
  • 使用描述性的名称
  • 参数越少越好 —- 参数组合 避免标识参数boolean 多个参数是否应该合并封装成类
  • 无副作用 —- 该做的事没做好 or 做了不该做的事
  • 消除重复

3.类

  • 类应该短小
  • 单一职责
  • 内聚

4.注释

  • 注释不能美化糟糕的代码
  • 对意图的解释 — 简洁
  • 警示
  • 误导性注释 — 理解不够精确 or 代码变迁
  • 多余的注释
  • 注释的代码 — 干掉它

    不要给糟糕的代码加注释——重写吧!

5.对象与数据结构

  • 对象隐藏数据,暴漏行为 —- 便于添加新对象类型而无需修改既有行为,但难以在既有的对象中添加新行为
  • 对象暴漏数据,隐藏行为 —- 便于向既有数据添加新行为,但难以向既有函数添加新的数据结构

6.错误处理

  • 使用异常而非错误码 —- 返回码需要在条用之后即可检查处理,扰乱调用者代码
  • try-catch-finally —– 只try明确存在异常的代码 明确catch类型,切记不要通吃导致问题掩盖
  • 返回值尽量别传null用空列表等代替

7.边界

  • 谨慎使用第三方代码
  • 未知的代码
0 0
原创粉丝点击