【发布时间】:2018-10-17 15:54:41
【问题描述】:
我是 Java 编程新手,目前正在开发一个移动理论机器人的程序。有这样的方法会更有效/更好的做法吗
public void turn(String direction, double power) { /* code */ }
或喜欢
public void turnLeft(double power) { /* code */ }
public void turnRight(double power) { /* code */ }
是纯符合preference/readability还是有标准?
【问题讨论】:
-
为什么不全部三个?实现所有三个方法,因此用户可以调用
turn(String, double),如果他/她喜欢,但您也可以提供turnLeft(double)和turnRight(double)以方便。一些评论:而不是传递一个String,你可以传递一个自定义的Direction枚举——而不是power,我会建议一个更容易说话的名字,例如rad(用于弧度)或degree(用于-井-度)。 -
这取决于你。我在
turnLeft和turnRight看到的一个问题是机器人可能会在这两个极端之间做一些事情。然后你可能很难用两种方法来表达这种行为。 -
我认为是单转方法还是左转、右转完全取决于您...只需按照以后对您(或其他任何人)易于调试和理解的方法进行操作
-
我只喜欢一种方法,因为没有方向的力量似乎没用,一种方法可以拥有所有逻辑,因此可维护性更好。如果这两种方法是完全独立的,那么就会保持分离以实现松散耦合。
-
请注意,设计和风格问题通常比这里更适合Software Engineering;我们只关注特定问题。
标签: java code-cleanup clean-architecture