出于某种原因,我的团队中的几个成员习惯性地使用" Do"
开始方法名称e.g。
public void DoReopenLeads()
public void DoProcessBaloney()
现在,我正在学习工作"有点男人和天堂没有接受过正式的代码培训,所以我不知道这是否是行业认可的编码标准。
在我看来,它似乎有点愚蠢,因为所有的方法"做"某事或其他......
我们团队的编码标准并没有涵盖如何命名方法(除了说明该功能在相当清晰的英语中做了什么)
答案 0 :(得分:2)
通常,对于表示操作方法的名称的方法,以动词开头。 “do”或“does”是辅助动词,很少增加意义。
不过,请看一下:C# Coding Conventions答案 1 :(得分:1)
没有这样的标准。也许这是本地的"风格"。前缀"做"如果在" Do"之后有多个具有相同单词的方法/功能,则会很有用例如:PrepareProcess
,LoadProcess
,FinishProcess
- 然后DoProcess
将是正常的。
答案 2 :(得分:1)
虽然这个话题有点专注,但我想分享一些我发现的软指导。
DoFactorys C# Coding Standards and Naming Conventions仅声明:
使用名词或名词短语来命名一个类
Dennis Doomen维护的AvSol C# Guideline相当有用的指南指出:
使用动词
Show
或动词 - 对象对(如ShowDialog
)命名方法。一个好名字应该提示成员的,如果可能的话,为什么。也不要在方法名称中包含
And
。这意味着该方法不止一件事,违反了单一责任原则......
最后,没有这样的官方指南存在于石头上。您的工作区和域文化应该推动创建自己的指南。
为了一个良好的开端,我建议你阅读Eric Evans撰写的Domain-Driven Design: Tackling Complexity in the Heart of Software。它包含一个名为Ubiquitous Language的部分,可以通过与您的域专家和同事密切协商,帮助您了解如何创建和发展您的共享语言。您的代码也可以遵循这种通用语言,因此您的代码库可以告诉"故事"或通过阅读使用案例。
关于UL的另一个很好的参考是由Andrew Whitaker编写的,他写道:
拥有无处不在的语言可以提高代码库的连贯性,并使每个人都在同一页面上。
答案 3 :(得分:0)
没有一种定义,每个方法都应以“Do
”开头。
清洁代码的一个原则(我喜欢并推荐罗伯特C.马丁的书)的命名方法是你不应该查看函数以了解函数的作用。所以命名必须传达意义。
方法应该是口头短语,因为它们实际上与数据“做”某事。但是刚开始使用Do
前缀的所有方法只会添加无用的信息。更多特定可以更轻松地实现“清洁代码”目标。