第五次笔记|青训营

72 阅读2分钟

课程目标:编写更简洁清晰的代码、常用go语言程序优化手段、熟悉go程序性能分析工具、了解工程中性能优化的原则和流程

一、高质量编程(简介、规范、性能优化建议)

定义:各种边界条件考虑完备、异常情况处理,保证稳定性、易读易维护

原则:简单性、可读性(保证代码可维护)、生产力(团队整体工作效率非常重要)

如何编写:代码格式、注释、命名规范、控制流程、错误和异常处理

注释:公共符号始终要注释——包中声明的每个结构体等等(例外:不需要注释实现接口)

代码格式:可以使用gofmt自动格式化代码

注释:应该解释代码作用、解释代码逻辑(实现过程)、解释代码实现的原因(解释代码的外部因素,提供额外上下文)、解释代码什么情况会出错(解释代码的限制条件)

注释应该提供代码未表达出的上下文信息

命名规范:variable:简洁胜于冗长;缩略词全大写,但当其位于变量开头且不需要导出时,使用全小写;变量距离其被使用的地方越远,则需要携带越多的上下文信息,尤其是全局变量需要更复杂的名字来表达其所代表的信息。

              Function:函数名不携带包名的上下文信息,因为包名和函数名总是成对出现;函数名尽量简短;当包的某个函数返回与包同名的类型时,函数名可以不包含对应信息

Package:只由小写字母组成;简短并包含一定上下文信息;不与标准库同名;谨慎使用缩写

核心目的是降低阅读理解代码的成本

控制流程:避免嵌套,保持正常流程清晰;尽量保持正常代码路径为最小缩进(即优先处理错误、特殊情况,尽早返回或者继续循环来提高效率)

核心是线性原理,提升代码可读性和可维护性

错误与异常处理:

简单错误:(仅出现一次的错误)

错误的wrap和unwrap 错误的wrap实际上提供了一个error嵌套另一个error的能力,从而生成一个Error的跟踪链