.Net编码标准在方法名称上使用前缀"Is"或"Has"

fin*_*fin 27 .net c# coding-style

在创建返回布尔值的方法时,建议在" Is "或" Has "前加上前缀.我的感觉是这种做法更适合定义属性名称.

说,我们有一个类似下面的方法有一些逻辑:

bool IsActivePage()  
{  
 // Some logic to determine if the page is active...   
}
Run Code Online (Sandbox Code Playgroud)

是否更可取的方法是将方法重命名为GetActivePageStatus,然后创建一个返回该方法结果的布尔属性IsActivePage.

什么是.NET标准?所有意见将不胜感激?

And*_*tad 33

框架设计指南状态,你应该"给方法是动词或动词短语的名字",因为"一般方法作用于数据".另一方面,属性应命名为"使用名词,名词短语或形容词","你也可以将布尔属性命名为Is,Can或Has,但仅限于它增加值的位置".

在这种情况下,您使用的是方法而不是属性,可能因为它既昂贵又有一些副作用.我建议你选择能够最清晰地表示返回值代表的名称.重要的是你要保持一致,并且不要让其他开发人员与你的约定混淆.

  • +1表示设计指南的链接. (6认同)

Ian*_*ose 8

我会用的

bool IsActivePage
{
  get
  {
    // some logic
  }
}
Run Code Online (Sandbox Code Playgroud)

如果该方法没有副作用且价格低廉.

我认为没有必要为同一件事同时拥有方法和属性.