(问题是故意拼错:stackoverflow不允许标题中的“问题”一词)
考虑一个属性 SomethingHasChanged
这可以作为声明, SomethingHasChanged!或问题 SomethingHasChanged?
阅读命名布尔值有哪些约定(C#)?作为陈述还是问题?
背景
我工作的客户的所有代码都是用荷兰语编写的。在荷兰语中,这两种形式之间存在细微差别,英语中不存在。因此,我们需要在两种形式之间做出决定。示例: ErIsIetsGewijzigd! vs IsErIetsGewijzigd?
答案 0 :(得分:3)
许多布尔属性以Is
或Has
开头,例如:
this.IsRed = this (object) is red
this.HasChildren = this (object) has children
你的名字并不适合这个惯例:
this.SomethingHasChanged = this (object) has something that has changed.
要符合此约定,我会重命名您的财产IsDirty
或类似内容。
答案 1 :(得分:2)
布尔变量或属性是表达式的结果,因此,它不是问题,而是声明。
相反,如果你问一个问题,这个问题需要一个操作来回答它,那么它应该是一个方法,并且可以这样命名。
答案 2 :(得分:0)
这取决于您是否想要通知您阅读状态或根据要求确定它。属性bool HasChanged {get; set; }
可以被调用两次,它应该产生相同的存储值。但是,方法bool HasChanged()
通信它将根据需要为您确定。
最后,因为我也是荷兰语,ErIsIetsGewijzigd
听起来像一个命令,所以当我读它时,它应该设置属性,即ErIsIetsGewijzigd(true);
。