问题 仅用大写字母命名约定

邦德拉

知名会员
已加入
2020年10月24日
留言内容
74
编程经验
Beginner
我已经完成了有关UML图表的部分工作。我不喜欢只用大写字母写CAT方法的方式。我理解为什么会这样,因为否则会与类的名称冲突。
但是对于这种情况有一些标准的命名约定吗?

UML图表中的类:
CAT
+ Cat (in name: string, in age : int)
    +hungry_animal()
    +ToString() : string

使用输出或其他方法,这看起来是否更好,现在可能是什么?
C#:
CAT
+ CatOutput (in name: string, in age : int)
    +hungry_animal()
    +ToString() : string
 

跳伞

工作人员
已加入
2019年4月6日
留言内容
2,528
地点
弗吉尼亚州切萨皮克
编程经验
10+
'CAT'没有方法。它看起来像是一个类名。在C(和旧的C ++)中,约定曾经是类型名称的全部大写形式。在C#中,类型名称始终为Pascal大小写。

UML不是文本。它是图形的。因此该类实际上如下所示:
Screenshot_1.png


我怀疑有人发明了自己的Textual UML版本以添加到 现有的清单. Also normally, UML doesn't bother listing constructors in the methods section (eg. your Cat() or CatOutputp()) unless there is a specific idea that needs to be communicated (e.g. not all attributes are initialized from parameters to the constructor).

说到命名约定,在C#中,类名和方法始终为Pascal大小写(例如“ Cat”和“ ToString()”)。 Snake case从未在C#中使用。因此,“ hungry_animal()”应真正命名为“ HungryAnimal()”。

通用的面向对象的命名约定建议类方法为动词。 “ HungryAnimal”更像形容词。更合适的方法名称应为“ InduceHunger()”或“ IncreaseHunger()”。
 

邦德拉

知名会员
已加入
2020年10月24日
留言内容
74
编程经验
Beginner
非常感谢!关于已经编写的HungryAnimal约定,我的工作是正确的。
当您这样说时,主要问题也很有意义。我无法解决这个问题,并且也在考虑某种构造函数。但是现在我明白了!

实例名称应该是私有的吗?还是内部继承对象可以进入的最深保护级别?

再次感谢!
 

跳伞

工作人员
已加入
2019年4月6日
留言内容
2,528
地点
弗吉尼亚州切萨皮克
编程经验
10+
经验法则是将事物保密,直到您无法再对其保密为止。
 

金西尼

C#论坛主持人
工作人员
已加入
2011年4月23日
留言内容
3,522
地点
悉尼,澳大利亚
编程经验
10+

跳伞

工作人员
已加入
2019年4月6日
留言内容
2,528
地点
弗吉尼亚州切萨皮克
编程经验
10+
这是C ++规则的必然结果:不要让朋友和您的私人朋友玩耍。 (除非他们是有好处的朋友。)
 

羊皮

退休程序员
工作人员
已加入
2018年9月5日
留言内容
1,926
地点
英国
编程经验
10+
顺带一提。只要情况允许,允许朋友与您的私人朋友玩耍是可以的。
 

金西尼

C#论坛主持人
工作人员
已加入
2011年4月23日
留言内容
3,522
地点
悉尼,澳大利亚
编程经验
10+
顺带一提。只要情况允许,允许朋友与您的私人朋友玩耍是可以的。
因此,如果您没有监护,那还不行吗?

@邦德拉,对于不相关的帖子,我深表歉意,但有些机会实在不容错过。
 
Last edited:

羊皮

退休程序员
工作人员
已加入
2018年9月5日
留言内容
1,926
地点
英国
编程经验
10+
我的规则是;如果您从中得到好处,也可以。
我对无关的帖子表示歉意,但有些机会实在不容错过。
他们确实是。
 
最佳 底部