高质量编程与性能调优2 | 青训营笔记

31 阅读2分钟

这是我参与「第五届青训营 」伴学笔记创作活动的第 10 天

  • 如何编写高质量的代码,实际应用场景千变万化,各种语言的特性和语法各不相同,有哪些通用的原则吗? 简单性 消除“多余的复杂性”,以简单清晰的逻辑编写代码 在实际工程项目中,复杂的程序逻辑会让人害怕重构和优化,因为无法明确预知调整造成的影响范围 难以理解的逻辑,排查问题时也难以定位,不知道如何修复 可读性 可读性很重要,因为代码是写给人看的,而不是机器 在项目不断迭代的过程中,大部分工作是对已有功能的完善或扩展,很少会完全下线某个功能,对应的功能代码实际会生存很长时间。已上线的代码在其生命周期内会被不同的人阅读几十上百次 听课时老师经常说的在课堂上不遵守纪律影响全班同学的时间,难以理解的代码会占用后续每一个程序员的时间 生产力 编程在当前更多是团队合作,因此团队整体的工作效率是非常重要的一方面 为了降低新成员上手项目代码的成本,Go语言甚至通过工具强制统一所有代码格式 编码在整个项目开发链路中的一个节点,遵循规范,避免常见缺陷的代码能够降低后续联调、测试、验证、上线等各个节点的出现问题的概率,就算出现问题也能快速排查定位
  • 了解原则之后,具体在实践中有哪些经验能帮助我们编写高质量的代码?接下来介绍Go语言的编码规范 Google官方和大规模采用Go的公司,比如Uber都有开源的编码规范文档,这里从中选择比较重要的公共约定部分进行介绍 详细的内容可以参考手册中的资料
  • 首先是推荐使用gofmt自动格式化代码,保证所有的Go代码与官方推荐格式保持一致 而且可以很方便的进行配置,像Goland内置了相关功能,直接开启即可在保存文件的时候自动格式化 另外可以考虑goimports,会对依赖包进行管理,自动增删依赖的包引用,按字母序排序分类,具体可以根据团队实际情况配置使用 之所以将格式化放在第一条,因为这是后续规范的基础,团队合作review其他人的代码时就能体会到这条规范的作用了