写代码的一些整理

Posted by wantu on July 17, 2021

编码是每个程序员每天都在做的事情。写好代码是很重要的!

写好代码不是那么容易的

0->40

  1. 代码是由字母组成。所以请确保单词拼写正确。可以借助辅助的单词检查插件进行检查。
  2. 命名最好简单明了,谷歌翻译是个好东西。
  3. 变量命令请用名词,如果不清楚其可数、不可数名次的拼写形式,建议后面加上集合的名称。例如 nameList、nameArr。动作函数请用动词。
  4. 减少变量。尽可能的少用局部变量、哨兵变量。
  5. 函数的形参列表,参数超过 2 个,最好将形参变成对象。
  6. 多尝试封装。即使不能复用,也便于阅读。
  7. 函数尽可能的简单。理解起来简单,做一个简单功能,行数精简,腾讯代码规范中一个函数的代码行数不要超过 80 行。
  8. 代码分成段落。类比写文章,每个段落想说的东西是不一样的。
  9. 扎实的语言语法。

40->60

写代码的套路:

  1. 请求参数校验。
  2. 空、错误处理。
  3. 业务(层层调用)。
  4. 数据整理并返回。

60->70

  1. 避免请求参数暴露数据库信息,比如一些状态的枚举值。
  2. 避免因为主键而导致的数据量的泄漏。
  3. 避免数据结构暴露数据库表结构。
  4. 使用德摩根定理。( !a && !b) === !( a || b ) 。
  5. 必要的注释,在复杂的业务功能的接口上写上完整的操作步骤。
  6. 尽可能的避免 if 嵌套。可以采用提前 return。
  7. 熟练使用一些成熟的模块的方法,比如 lodash 等。
  8. 报错应该统一,并且错误级别应该明确。
  9. 联调之前一定要自测。
  10. 善用弱类型语言中一些语法。比如说:解构、展开、继承。
  11. 尝试用管道操作(filter、map)去替换 for 循环。代码会更加清晰。
  12. 复杂的条件逻辑可以封装成一个带有说明的函数。这样在阅读时见文知意,一目了然。
  13. 分离查询函数与修改函数。查询函数只是提供一个值,函数没有任何的副作用,可随意操作。修改函数显然就要慎重对待了。明确分离“有副作用”和“无副作用”两种函数是一个很好的想法。
  14. 以【卫语句】取代嵌套条件表达式。卫语句的精髓就是给予某条分支特别的重视,它告诉阅读者,这种情况并不是本函数的所关心的核心逻辑,如果它真的发生了,会做一些必要的工作然后提前退出。
  15. 面向对象编程。

70

  1. 编写单元测试。
  2. 同业务方、产品进行及时的沟通,一旦需求不明确就要确认,将已经确认的信息进行记录。