|
|
1
1
我从来没有特别热衷于这个命名约定,但是 Framework Design Guidelines 书中建议使用“core”作为这种模式的后缀。此代码取自Microsoft System.Windows.Forms.Control类
我对这个解决方案的担心是,您将公开一个具有未知复杂性的方法,并将可能产生的副作用作为一个属性,但是由于您可以仔细浏览.NET框架代码,并看到如果您正在寻找一个标准,那么经常使用这个约定,这可能是您所能得到的最接近的。 |
|
2
0
这个问题没有“对”或“错”,只有“好”或“坏”。 就我个人而言,我会将“涉及某些逻辑”的属性设置为getVisible()方法,以明确表示存在某些逻辑(即使它很简单,也可能是属性)。 包含信息的属性可能只是可见的。 这就像理解不同的成员一样:属性是数据(或数据的幻象),方法是逻辑的。 |
|
|
3
0
基类是实现该属性还是打算由继承类实现,即它是抽象的?我的第一个想法是应该像在继承类中那样命名它。如果它控制类输出是否可见,那么visible似乎是正确的名称。至少在我看来,这个名称不应该反映实现,而应该反映目标。 |
|
4
0
我认为“虚拟保护”的目的已经足够了,它已经指定了它可以并且将在某个时候被覆盖,并由子类访问它。 命名不应该太大,以便一次又一次地编码,而且也是可见的是标准的命名方式。它也应该属于正确的英语。听起来应该是某种条件/验证,而不是属性。 成员的名称应该只描述目的,而不是逻辑或太技术细节,这只会使名称变得越来越大。 |
|
|
5
0
因为正在考虑的方法是Visible的继承类实现,所以如果必须的话,我将使用非常难看但描述性很强的名称、VisibleImplementation或VisibleImpl。这让开发人员非常清楚,这就是他实现使组件可见或不可见的逻辑的地方。
或者,您可以给它一个可见的相同名称,并要求它接受一个布尔参数,指示是否从基本实现调用它。就我个人而言,我不喜欢引入一个参数来区分不同的方法,但有时你必须做出妥协。
|