我有以下两段代码,其中一段我将isSpclCharbool初始化为false,另一段我稍后在 else 语句中捕获错误状态:
static bool CheckSpclChar(char _letter)
{
bool isSpclChar = false;
if(_letter == '!' || _letter == '@')
{
isSpclChar = true;
}
return isSpclChar;
}
Run Code Online (Sandbox Code Playgroud)
和:
static bool CheckSpclChar(char _letter)
{
bool isSpclChar;
if(_letter == '!' || _letter == '@')
{
isSpclChar = true;
}
else
{
isSpclChar = false;
}
return isSpclChar;
}
Run Code Online (Sandbox Code Playgroud)
在这种情况下,哪些是最佳实践或不太容易出错?一点都不重要吗?
else根本不需要:
bool isSpecialChar = _letter == '!' || _letter == '@';
Run Code Online (Sandbox Code Playgroud)
事实上,您的整个方法可以简化为:
static bool CheckSpecialChar(char letter) => letter == '!' || letter == '@';
Run Code Online (Sandbox Code Playgroud)
我已将“Spcl”扩展为“Special”以获得更好的可读性,并从参数名称中删除了前导前缀以遵循.NET 约定。您可能还想考虑使用Is代替Check.
最后,您可能还想避免在方法名称中使用“特殊”一词。当我听到“特殊字符”这个词时,我往往会畏缩,因为没有更具体的上下文,它毫无意义。什么!和@在这方面是什么意思?您是否可以提供更有用的描述,例如IsEscapePrefix或类似的内容?