目前有一个关于哪个代码更易读的局部争论
我们有一个程序员来自ac背景,当程序员编码时看起来像
string foo = "bar";
if (foo[foo.Length - 1] == 'r')
{
}
Run Code Online (Sandbox Code Playgroud)
我们有另一个程序员不喜欢这种方法而宁愿使用
if (foo.EndsWith("r"))
{
}
Run Code Online (Sandbox Code Playgroud)
这种类型的操作哪种方式更好?
C.E*_*uis 38
对于从未见过C或C++,C#或任何其他编程语言的人来说,EndsWidth更具可读性.
小智 9
2号更好阅读和保持.示例:验证最后2个字符...
选项1)
if (foo[foo.Length - 1] == 'r' && foo[foo.Length - 2] == 'a')
{
}
Run Code Online (Sandbox Code Playgroud)
选项2)
if (foo.EndsWith("ar"))
{
}
Run Code Online (Sandbox Code Playgroud)
最后3?最后4?...
可读性规则,特别是如果它意味着意图.
在第一个例子中,我必须发现意图 - 留待解释.如果它似乎有错误,我怎么知道这不是故意的?
第二个例子告诉我意图.我们想找到最终角色.有了这些知识,我就可以继续评估实施.
| 归档时间: |
|
| 查看次数: |
1299 次 |
| 最近记录: |