作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我经常需要使用一个函数来执行和 Action X 是条件 Y 设置。命名这样一个函数的最佳方式是什么?
我不想重复 if 语句,因为它们可能很复杂。
例如,如果我想在设置了属性的情况下修剪字符串,函数可以命名为:
在 C#/.Net 或任何类似语言中是否有针对这种情况的约定?
最佳答案
尝试这样的事情:
if(IsComplexCondition(complexData))
{
DoThing(otherData);
}
您通常不希望将条件与操作耦合,因为您正在使单个函数在该点捕获太多语义信息。这是“做不止一件事”。相反,如果您有复杂的条件,请在函数中捕获该条件以将其封装。
如果您指的是更常见的情况,例如函数顶部的参数验证,请考虑类似 fluent parameter validation 的内容.如果您不做参数验证之类的事情,那么我可能会质疑为什么它位于每个函数的顶部而不是在公共(public)位置捕获或在系统边界执行一次。
我不认为命名将军有一个很好的答案 ActionIfSomething()
案例仅仅是因为它通常不是解决问题的好方法。我可能只是说调用函数 Action()
并记录下来,也许在 <remarks>
中, 仅在 Something
时执行操作是真的。如果Action
属于函数中的条件,那么它只有在该条件的上下文中才有意义,因此在函数名称中重新指定它是多余的。
关于c# - 函数命名 : ActionIfCondition(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1065900/
我经常需要使用一个函数来执行和 Action X 是条件 Y 设置。命名这样一个函数的最佳方式是什么? 我不想重复 if 语句,因为它们可能很复杂。 例如,如果我想在设置了属性的情况下修剪字符串,函数
我是一名优秀的程序员,十分优秀!