快速问题:我想听听您在命名两个字段(例如“ Foo.currentState”,“ Foo.status”)和类型(例如“枚举FooState”和“枚举”)时何时使用“状态”和“状态”的想法FooStatus”。是否有讨论过的约定?我们应该只使用一个吗?如果是这样的话,如果不是,我们应该如何选择?
快速问题:我想听听您在命名两个字段(例如“ Foo.currentState”,“ Foo.status”)和类型(例如“枚举FooState”和“枚举”)时何时使用“状态”和“状态”的想法FooStatus”。是否有讨论过的约定?我们应该只使用一个吗?如果是这样的话,如果不是,我们应该如何选择?
Answers:
海事组织:
状态==你好吗?[好坏]
状态==您在做什么?[休息/工作]
State
应该反映状态机(或工作流)状态节点图内的“指示节点”,其中描述可能很容易是口头形容词(通常以“ “ -ing”),而它Status
是对象的简单属性,一个简单的形容词,可以由触发器使用,也可以作为观察值来决定更改(或保持)状态。我可能想得太多。我这样做..
通常,我将使用状态来表示对象或整个系统的当前状态。我用地位来代表某些行动的结果。例如,对象的状态可以被保存/未保存,有效/无效。方法的状态(结果)是成功/失败/错误。我觉得这个嘲弄得不错的状态定义为“ 状态或条件相对于情况,”在这种情况下,动作片/方法的应用情况。
相对于地位更偏爱状态的另一个(完全务实的)理由是复数很简单:
并相信我,您迟早会在代码中有一个列表或数组或任何状态,并且必须命名该变量。
我认为您可以在方程式中添加另一个视角,即“发件人请求者”。
从发件人的角度来看,我将与愿意倾听的任何人交流我的状态。从请求者的角度来看,我要询问某人的身份。
以上内容也可以从不确定性的角度进行解释:-定义=状态-未定义=状态您的状态是什么?我处于放松状态。
我很确定这只是一种解释,可能不适用于您的特定情况。
我处理的许多实体(帐户,客户)可能有一个状态(TX,VA等)和一个状态(有效,已关闭等)
因此,有关该术语具有误导性的观点是可能的。我们有一个标准化的数据库命名约定(不是我个人的选择),其中命名ST_CD
一个状态,一个状态为ACCT_STAT_CD
。
对于OO milieux中的枚举,此问题并不重要,因为如果您具有严格的类型安全性,则编译器将确保没有人尝试这样做:
theCustomer.State = Customer.Status.Active;
如果您处于动态环境中,我会更加担心!
如果您要处理的领域是状态机或其他状态信息,并且该术语占主导地位,那么我认为State完全可以。
不久前,我们对我当前的项目进行了确切的辩论。我确实没有偏好,但是一致性是一个重要的考虑因素。
在我的Sharp PW-E550(我可能会添加一本很棒的词典)中,“状态”的第一个(有几个)定义是“某人或某物在特定时间处于的特定条件”。“状态”的第一个定义是“某人或某物的相对社会地位,专业地位或其他地位”。在这种情况下,甚至“状态”的第二个(也是最后一个)定义都不如“状态”:“在特定时间的事务位置,尤其是在政治或商业环境中”。
因此,如果我们希望对使用我的词典的人来说尽可能的容易(使用《新牛津美国词典》,2001年),“州”将是最佳选择。
此外,在“四人帮”一书中描述的一种设计模式称为“状态模式”,可以在计算词典中牢固地建立该术语。
由于这些原因,我建议使用“状态”。
PS是DDM吗?您还在为“状态”与“状态”而苦吗?AO!
好吧,他们的意思是一样的。我认为没有必要大声疾呼一个人优先于另一个人,但是我通常会选择“状态”,因为我喜欢听起来像拉丁和古典主义者的东西。我的意思是,在我的世界中,模式的复数就是模式,因此,对于我来说,它几乎没有其他选择。
Sophistifunk,我确定您会同时获得State和Status的参数。最重要的是选择一个,然后仅使用一个。我建议与您的团队讨论此事,看看每个人都同意什么。
也就是说,我的建议如下。
假设您使用的是面向对象的编程语言,则对象的“状态”由对象本身表示。SomeObject.state误导了imo。我不确定您的示例中的“状态”是什么,但是我的直觉是希望用这种方式来说明。