我想在 Go 中编写一个函数,将文档插入 MongoDB 数据库的集合中。哪种方式命名函数更好,
writeToMongoDB
或WriteToMongoD
?
第二种是CamelCase,虽然我看到有人用第一种的风格,所以我不确定哪个更合适。谢谢。
原文由 Tim 发布,翻译遵循 CC BY-SA 4.0 许可协议
我想在 Go 中编写一个函数,将文档插入 MongoDB 数据库的集合中。哪种方式命名函数更好,
writeToMongoDB
或WriteToMongoD
?第二种是CamelCase,虽然我看到有人用第一种的风格,所以我不确定哪个更合适。谢谢。
原文由 Tim 发布,翻译遵循 CC BY-SA 4.0 许可协议
2 回答1.3k 阅读
2 回答1.2k 阅读
2 回答1.2k 阅读
2 回答1.2k 阅读
3 回答791 阅读
2 回答958 阅读
1 回答846 阅读
句法
在 Go 中,这不是样式问题,而是语法问题。
导出的名称(即可以从除定义它们的包之外的包中使用的标识符)以大写字母开头。因此,如果你的方法是你的公共 API 的一部分,它应该被写成:
WriteToDB
但如果它是内部辅助方法,则应这样写:
writeToDB
与使用关键字定义导出性(
extern
,public
等)相比,这样做的好处是,将其作为名称的一部分可确保在任何地方使用标识符可以判断它是否被导出,而不必找到它的定义位置(查看定义是否包含关键字)。另请参阅: 规范中的 导出标识符。
国际化
因为 Go 是 UTF-8 编码的,并且支持任何在标识符名称中带有字母或数字属性的 Unicode 字符,所以在没有大小写概念的语言环境中,一些人可能无法创建导出的方法(默认是非导出的)。在这种情况下(双关语),通常在标识符前加上
X
以指示导出。例如:X日本語
另请参阅: Unicode 标识符怎么了? 从常见问题解答。
风格
就一般风格而言,总是使用驼峰式大小写(除了第一个字母,如前所述)。这包括常量、函数和其他标识符。因此,例如(导出的)常量列表可能如下所示:
此外,缩写总是以相同的大小写书写,因此您可以编写以下内容之一:
而不是
writeDb
或DbWrite
。