GO-命名规范
优秀的命名
优秀的命名应当是一贯的、短小的、精确的。
所谓一贯,就是说同一个意义在不同的环境下的命名应当一致,譬如依赖关系,不要在一个方法中命名为depend,另一个方法中命名为rely。
所谓短小,不必多言,当命名过长的时候,读者可能更关注命名本身,而忽视真正的逻辑内容。
所谓精确,就是命名达意、易于理解
首条经验
声明位置与使用位置越远,则命名应当越长。
骆驼命名法
Go语言应该使用 MixedCase
(不要使用 names_with_underscores)
首字母缩写词都应该用大写,譬如
ServeHTTP
、
sceneID
、
CIDRProcessor
。
局部变量
局部变量应当尽可能短小,譬如使用
buf
指代
buffer
,使用
i
指代
index
在很长的函数中可能会有很多的变量,这个时候可以适当使用一些长名字。
但是写出这么长的函数,通常意味着代码需要重构了!🙅🏻
参数
函数的参数和局部变量类似,但是它们默认还具有文档的功能
当参数类型具有描述性的时候,参数名就应该尽可能短小:
funcAfterFunc(d Duration, f func()) *Timer funcEscape(w io.Writer, s []byte) |
当参数类型比较模糊的时候,参数名就应当具有文档的功能:
返回值在Go语言中,返回值可以定义名称的,它可以当做一种特殊的参数。 尤其重要的是,在外部可见的函数中,返回值的名称应当可以作为文档参考。
funcUnix(sec, nsec int64) Time funcHasPrefix(s, prefix []byte) bool |
链接:https://www.cnblogs.com/zhangboyu/p/01fb1e0fc19c02e3f6460ebbb6dd61c8.html
(版权归原作者所有,侵删)
阅读原文 最新评论
推荐文章
作者最新文章
你可能感兴趣的文章
Copyright Disclaimer: The copyright of contents (including texts, images, videos and audios) posted above belong to the User who shared or the third-party website which the User shared from. If you found your copyright have been infringed, please send a DMCA takedown notice to [email protected]. For more detail of the source, please click on the button "Read Original Post" below. For other communications, please send to [email protected].
版权声明:以上内容为用户推荐收藏至CareerEngine平台,其内容(含文字、图片、视频、音频等)及知识版权均属用户或用户转发自的第三方网站,如涉嫌侵权,请通知[email protected]进行信息删除。如需查看信息来源,请点击“查看原文”。如需洽谈其它事宜,请联系[email protected]。
版权声明:以上内容为用户推荐收藏至CareerEngine平台,其内容(含文字、图片、视频、音频等)及知识版权均属用户或用户转发自的第三方网站,如涉嫌侵权,请通知[email protected]进行信息删除。如需查看信息来源,请点击“查看原文”。如需洽谈其它事宜,请联系[email protected]。