Hom*_*mam 3 c# programming-languages readability
我的if stetement:
if (!string.IsNullOrEmpty(Person.Name))
// some code
Run Code Online (Sandbox Code Playgroud)
我觉得 "!" 编写命令式代码时,运算符的可读性较差,
你是否同意我的以下代码更具可读性?
if (not string.IsNullOrEmpty(Person.Name))
// some code
Run Code Online (Sandbox Code Playgroud)
我不是在谈论替换当前的运算符,但是如果语言接受它们的话,问题出在哪里?
Dav*_*kle 11
有几个很好的理由:
有一些细节,这些词语传达得不好.例如,短路AND运算符与不短路运算符(&& vs&).VB最近(ish)推出了一个名为AndAlso的短路AND运算符.这从来没有对我有任何意义.它似乎从一开始就混淆了人们.
减少打字.布尔逻辑在任何地方都使用,每个表达式上保存的几个按键可以累加很多 - 或者至少,我发现必须输入更多是非常烦人的.
因为它是C,Java,Objective-C和C++程序员习惯的.人们现在已经使用这种语法40(?) - ish years.它为人们似乎喜欢的语言带来了连续性.
"and","或"和"not"是英文单词,使用像这样的字形的语法!和&& /&在语言和文化上更加中立.
添加更多操作符意味着相同的操作对于语言的操作是不必要的,并且可能令人困惑.
如果您希望代码更具"可读性",那么VB可能是更好的选择.有这样的陈述是完全有效的
If value Is Not Null Then
'do something
End If
Run Code Online (Sandbox Code Playgroud)
我个人发现c#语法!和&&和|| 具有很强的可读性,因为它们在多种语言中是一致的,并且也倾向于遵循数学中使用的惯例,这些惯例通常起源于这些操作.
这也意味着它们的含义没有歧义,因为它是一个象征.