我目前正在做一个项目,它整合了几种不同的“编程”语言,每种语言都有自己的命名约定。应该始终使用相同的命名约定,还是应该在每种语言中使用不同的名称以具有本机外观(即不与框架的其余部分冲突)?
例如,该项目使用MongoDB(BSON)、C#、JSON和Javascript。现在,我使用每一层的约定来命名每一层中的东西,然后让每一层之间的代码进行转换,比如从BSON到C#模型。另一方面,如果命名约定相同,MongoDb将自动执行此操作。
发布于 2012-10-18 13:32:33
20多年前,当我刚刚开始我的职业生涯时,我可能会同意Paul的观点,并说“争取一个通用的命名约定!”:)
今天我的答案是不同的。即使您使用的是一种编程语言,提出一个像样的命名约定也是一项具有挑战性的任务。拥有多语言/框架的通用约定是一个高尚的目标,也是一个很好的脑筋急转弯,但总的来说,我认为这是不可行的。不同语言/框架的语法和词汇规则千差万别,无法做到“一刀切”。此外,所使用的语言/框架集随时可能发生变化,对您的“通用约定”进行适当的调整可能会被证明是昂贵得令人望而却步,或者是不及时的。
因此,我建议主要关注每种语言/框架(或每组足够相似的语言/框架-例如,C和C++ )的可靠和适当的约定。这种方法的一个很好的结果是,只涉及一种语言的项目必须遵守一组看起来不“外国”的约定。
话虽如此,我相信一些约定对于所有涉及的语言/框架都是通用的,而不会变得太“陌生”。此外,词汇表这样的东西应该在整个项目中是通用的。当然,这主要是关于语义和词汇规则;但即使是一些语法规则也可以是通用的。例如:
对实体名称使用单数序列词法规则(例如,“始终对缩略词使用单数nouns").
当然,上面的例子过于简单了。但我希望这个想法是明确的:任何可以通用的约定都应该是通用的,但它总是您需要的所有约定的一个子集。
发布于 2012-10-16 03:28:28
是。DOM就是一个很好的例子:
就像SAX一样:
或ODBC:
https://stackoverflow.com/questions/8944851
复制相似问题