首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >包含具有起始时间的对象的类的好名称

包含具有起始时间的对象的类的好名称
EN

Stack Overflow用户
提问于 2008-11-17 20:01:22
回答 9查看 409关注 0票数 2

我正在创建一个(Java)类来表示乐谱中的一个对象,该乐谱有特定的开始时间,也可能有持续时间。我需要给这个班级起个好名字。像"Timed“或"TimedObject”这样的东西合适吗?我试着想出一些以"-able“结尾的东西(比如Runnable),但我想不出任何好的东西;"OnsetTimeable”听起来很傻,因为"OnsetTime“不是动词。我也不太喜欢"MusicalObject“,因为这并不意味着对象有一个起始时间(一个”音乐对象“可以是与乐谱相关的任何东西)。

更新:在音乐上,这个类代表了在乐谱中某个时间点发生的事情的抽象。这应该是Note、KeyChange、MeterChange、DynamicMarking、TempoMark等类的超类。

EN

回答 9

Stack Overflow用户

发布于 2008-11-17 20:24:58

这听起来像MIDI files中的events

票数 5
EN

Stack Overflow用户

发布于 2008-11-17 20:26:58

它是一个类,还是一个接口?接口应该由其调用者的需求驱动。你能用OnsetTimeable做什么(暂时叫它)?您倾向于提出以-able结尾的名称,这表明您可以将其视为一个接口。

如果您只是给音乐评分,而不是编写程序来播放乐谱,我猜乐谱中的大多数对象更像是简单的数据结构或“值对象”,而不是真正的带有操作的对象。这是因为当呈现一个对象时(比如在一根杆子上),封装往往会被破坏。这是有意义的,因为呈现或序列化对象的目的是捕获其所有状态。在这种情况下,使用具体的POJO可能就足够了。

票数 1
EN

Stack Overflow用户

发布于 2008-11-17 20:06:07

您的对象应该向系统的其余部分建议的主要服务(或多个服务)是什么?

我相信它的名字应该代表你想要通过设计它来制作的。

到目前为止,我们知道你的对象是由什么组成的(一个起始时间,...),但我们不知道什么是,更重要的是,正如baash05所指出的,what it is :一句话,它代表了什么。

正如问题What’s the best approach to naming classes?中所提到的,the single responsibility principle也可以是一种很好的方法。

如果它必须代表分数的任何特征的一些常见结构(注意,...),那么像ScoreAttribute这样的名称可能是合适的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/296702

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档