Chr*_*man 7 multilingual interop naming-conventions
我目前正在开发一个项目,该项目包含几种不同的"编程"语言,每种语言都有自己的命名方式.是否应该使用相同的命名约定,或者每种语言的名称是否应该不同以具有本机外观(即不与框架的其余部分冲突)?
例如,该项目使用MongoDB(BSON),C#,JSON和Javascript.现在我用每个图层的约定命名每个图层中的内容,然后在每个图层之间进行转换,比如从BSON到C#模型.另一方面,如果命名约定相同,MongoDb会自动执行此操作.
二十多年前,当我刚刚开始我的职业生涯时,我可能会同意保罗并说"寻求通用的命名惯例!".:)
今天我的回答是不同的.即使在处理一种编程语言时,提出一个合适的命名约定也是一项具有挑战性的任务.拥有多种语言/框架的通用约定是一个崇高的目标和优秀的脑筋急转弯,但总的来说,我认为这不可行.不同语言/框架的句法和词汇规则过于多样化,无法实现"一刀切".此外,所使用的语言/框架集可以随时改变,适当调整"普遍惯例"可能会变得过于昂贵或过于不合时宜.
所以我建议主要关注每种语言/框架(或者每组语言/框架,如C和C++)的可靠和体面的约定.这种方法的一个好结果是,只涉及一种语言的项目必须遵守一组看起来不像"外国"的约定.
说了这么多,我相信一些惯例对于所有涉及的语言/框架都是通用的,而不会变得太"外国".而且,词汇量这样的东西应该是整个项目的共同点.当然,这主要是关于语义和词汇规则; 但即使是一些句法规则也可以是普遍的.例如:
实体名称的词法规则(例如"总是使用单数名词").
首字母缩略词的词汇规则(例如"仅使用广为人知的首字母缩略词").
复合名称的句法规则(例如"始终使用通用然后特定的序列").
当然,上面的例子过于简单了.但我希望这个想法很明确:任何惯例都应该是常见的,但它总是只是你需要的所有约定的一部分.
| 归档时间: |
|
| 查看次数: |
891 次 |
| 最近记录: |