ash*_*tee 41 coding-style naming-conventions
我在C#中有一个接口,可以帮助从服务器上的自定义存档中检索数据.界面如下所示:
public interface IRetrieveData
{
bool OkToRetrieve(SomeData data); // Method in question...
bool RetrieveToLocal(SomeData data);
}
Run Code Online (Sandbox Code Playgroud)
此接口由将数据检索到本地数据库的客户端实现.有不同类型的客户端可以访问彼此的数据.因此,当处理组件IRetrieveData.OkToRetrieve在实际检索之前调用时,调用将转到客户端代码,在该客户端代码中决定是否应该检索数据.
此时,客户端可以返回false并跳过该数据或返回true,处理组件调用RetrieveToLocal并将数据发送到客户端,然后客户端处理它.
当我越来越困惑是是否要重命名的方法OkToRetrieve,只是Retrieve或者CanRetrieve或留作OkToRetrieve.
有没有人有任何建议?
Azi*_*ziz 62
IsRetrievable()
Run Code Online (Sandbox Code Playgroud)
我认为返回布尔值的方法应该被命名为是 - 否.
dan*_*e.f 13
如何使用前缀'should'?
ShouldRetrieve(SomeData data);
Run Code Online (Sandbox Code Playgroud)
方法意味着行动.因此,我更喜欢方法名称以动词开头.怎么样?
CheckIsRetrievable(SomeData data)
Run Code Online (Sandbox Code Playgroud)
在这个特定情况下,我可能会命名它:
public bool IsReady (SomeData)
Run Code Online (Sandbox Code Playgroud)
因为它更清楚地表明一旦它返回会发生什么true.
取决于您的用例.我喜欢在前面加上"是","确实"或"可以"等字样
IsSomePropertySoAndSo,DoesNounSupportFeature并作为例子CanVerb
小智 5
通常,方法/功能指示动作,因此应在其前加上动词。例如检查,获取,制造等。
布尔变量的通用命名约定是在其前面加上帮助动词,例如is,do,will,can
我认为这两个约定的结合将导致一个很好的,可识别的模式。所以getIsRetreivable()或checkIsRetrievable()对我来说看起来不错。