目录 搜索 介绍指导原则简单性可读性生产力标识符选择标识符是为了清晰,而不是简洁标识符长度上下文是关键不要用变量类型命名你的变量使用一致的命名方式使用一致的声明样式成为团队合作者注释关于变量和常量的注释应描述其内容而非其目的公共符号始终要注释不要注释不好的代码,将它重写与其注释一段代码,不如重构它包的设计一个好的包从它的名字开始好的包名应该是唯一的避免使用类似 `base`,`common` 或 `util` 的包名称尽早 `return` 而不是深度嵌套让零值更有用避免包级别状态项目结构考虑更少,更大的包通过 `import` 语句将代码排列到文件中优先内部测试再到外部测试使用 `internal` 包来减少公共API确保 `main` 包内容尽可能的少API 设计设计难以被误用的 API警惕采用几个相同类型参数的函数为其默认用例设计 API不鼓励使用 `nil` 作为参数首选可变参数函数而非 `[]T` 参数让函数定义它们所需的行为错误处理通过消除错误来消除错误处理计算行数WriteResponse错误只处理一次为错误添加相关内容使用 `github.com/pkg/errors` 包装 `errors`并发保持自己忙碌或做自己的工作将并发性留给调用者永远不要启动一个停止不了的 goroutine 暂无相关搜索结果! 本文档使用 topgoer 发布 一个好的包从它的名字开始 编写一个好的 Go 语言包从包的名称开始。将你的包名用一个词来描述它。 正如我在上一节中谈到变量的名称一样,包的名称也非常重要。我遵循的经验法则不是“我应该在这个包中放入什么类型的?”。相反,我要问是“该包提供的服务是什么?”通常这个问题的答案不是“这个包提供 X 类型”,而是“这个包提供 HTTP”。 贴士:以包所提供的内容来命名,而不是它包含的内容。 最后编辑: kuteng 文档更新时间: 2021-01-09 21:40 作者:kuteng
编写一个好的 Go 语言包从包的名称开始。将你的包名用一个词来描述它。 正如我在上一节中谈到变量的名称一样,包的名称也非常重要。我遵循的经验法则不是“我应该在这个包中放入什么类型的?”。相反,我要问是“该包提供的服务是什么?”通常这个问题的答案不是“这个包提供 X 类型”,而是“这个包提供 HTTP”。 贴士:以包所提供的内容来命名,而不是它包含的内容。 最后编辑: kuteng 文档更新时间: 2021-01-09 21:40 作者:kuteng