Mac*_*cks 2 java types conventions
我正在研究一组课程来表示音符,小节,节奏等.当然,我将不得不处理最好用分数表示的时间签名(如4/4,3/4等).
我想知道什么是更好的风格.使用Bar的构造函数包含Fraction-object或仅包含两个int作为时间签名.
public Bar(Fraction timeSignature) {
this.timeSignature = timeSignature;
}
Run Code Online (Sandbox Code Playgroud)
要么:
public Bar (int num, int den) {
timeSignature = new Fraction(num, den);
}
Run Code Online (Sandbox Code Playgroud)
我的意思是......我可以同时拥有这两个但我应该在申请中选择哪一个?是否有"更好"的风格?
谢谢你的想法!
就个人而言,我会选择第一种方法.如果你知道你需要/想要一个Fraction对象,为什么Bar不仅仅是那个?调用酒吧类的人需要理解的分数两种方式(通过你的整数),所以它只是清洁.
我将使用第一个并在fraction类中提供一个工厂方法,以便能够调用类似于:
new Bar(Fraction.of(4, 4));
Run Code Online (Sandbox Code Playgroud)
两全其美;-)
| 归档时间: |
|
| 查看次数: |
128 次 |
| 最近记录: |