Ale*_*lex 17 c# coding-style control-flow
哪一个更好(通过if 返回或控制流的隐式控制流) - 见下文.请解释一下你认为哪个有利/不利.我喜欢选项A,因为它的代码更少.
public ActionResult Edit(MyClass class)
{
if (!class.Editable)
return null;
class.Update();
return View();
}
Run Code Online (Sandbox Code Playgroud)
public ActionResult Edit(MyClass class)
{
if (class.Editable)
{
class.Update();
return View();
}
else
{
return null;
}
}
Run Code Online (Sandbox Code Playgroud)
Eri*_*ric 10
我个人喜欢这种if/else方法.首先,你的if陈述是积极的,而不是消极的,使其更容易阅读.对于两个,你已经将条件封装在大括号中,我就是那种风格的粉丝.
无论如何,跟随第二个比第一个更容易.这总是在我的书中获胜.
为了可读性和可维护性,我更喜欢第二种方法.可读性因为它比第一种方法对我来说更"干净",并且可维护性,因为如果我需要修改if或else子句,我不必担心添加花括号.此外,如果不包括新行,第一种方法只比第二种方法少7个字符,这几乎不是选择第一种方法的理由.
那就是说,我其实更喜欢这个:
public ActionResult Edit(MyClass class)
{
ActionResult rv = null;
if (class.Editable)
{
class.Update();
rv = View();
}
return rv;
}
Run Code Online (Sandbox Code Playgroud)
这是更多的代码,但我现在可以在return语句上设置一个断点来检查返回的值,而不是必须设置两个断点来在你提供的两个选项中执行相同的操作.
| 归档时间: |
|
| 查看次数: |
3465 次 |
| 最近记录: |