
课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
随着互联网的不断发展,学习软件编程开发技术的人也越来越多了,而本文我们就简单来了解一下,go语言基本规范都有哪些。
1、包设计
[强制]包的设计满足单一职责
说明:在SRP(SingleResponsePrinciple)模式中,单一职责原则是指一个类只负责一项功能,并且不能负责多个功能.将包设计的非常内聚,减少包之间的api
[强制]包的设计遵循小可见性原则
说明:仅在包内调用的函数,或者变量,或者结构体,或者接口,或者类型,或者函数等等,需要小写开头,不可以可以被外部包访问
[强制]代码需要可测试性,使用接口和依赖注入替代硬编码
[强制]单元测试文件放到代码文件同级目录,便于go语言工具使用
比如:vscode在方法上右键可以直接生成测试代码和测试覆盖率并可视化展示执行情况
3、布局
[推荐]程序实体之间使用空行区分,增加可读性
说明:比如函数中各个模块功能使用空行区分,增加可读性
[推荐]每个文件末尾应该有且仅有一个空行
[推荐]一元操作符不要加空格,二元操作符的才需要
4、注释
[推荐]可导出的方法,变量,结构体等都需要注释
表达式和语句
[推荐]if或者循环的嵌套层数不宜大于3
[推荐]对于for遍历,优先使用range而不是显式'的下标,如果value占用内存大的话可以使用显式下标
说明:range可以让代码更加整洁,特别是多层for嵌套的时候,但是range非拷贝值,如果value不是指针类型,而且占用内存较大会有性能损耗.
5、函数
[强制]命名不要暴露实现细节,一般以"做什么"来命名而不是"怎么做"
[推荐]短小精悍,尽量控制到20行左右
说明:函数的粒度越小,可复用的概率越大,而且函数越多,高层函数调用起来就是代码可读性很高,读起来就像一系列解释
[推荐]单一职责,函数只做好一件事情,只做一件事情
[强制]不要设置多功能函数
例如:一个函数既修改了状态,又返回了状态,应该拆分
[推荐]为简单的功能编写函数
说明:为1,2行代码编写函数也是必要的,增加代码的可复用性,增加高层函数的可读性,可维护性,可测试性
6、参数
[推荐]参数个数限制在3个以内,如果超过了,可以使用配置类或者Options设计模式
说明:函数的理想的参数的个数先是0,然后是1,然后是2,3就会很差了.因为参数有很多概念性,可读性差,而且让测试十分复杂
[推荐]函数不能含有表示参数
说明:标识参数丑陋不堪,函数往往根据标识参数走不同的逻辑,这个和单一职责违背
[强制]struct作为参数传递的时候,使用指针
说明:函数的执行就是压栈,struct如果有多个字段将会被多次压栈,有性能损失,指针只会被压栈一次
[推荐]在api(controller)层对传入的参数进行检查,而不是每一层都检查一次
[推荐]当chan作为函数的参数的时候,根据小权限原则,使用单向chan
【免责声明】本文系本网编辑部分转载,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。如涉及作品内容、版权和其它问题,请在30日内与管理员联系,我们会予以更改或删除相关文章,以保证您的权益!更多内容请加danei0707学习了解。欢迎关注“达内在线”参与分销,赚更多好礼。