Java 方法中的布尔值与调用方法前的布尔值?
因此,我想检查我的ev3机器人是否已连接,然后再进行操作 还有什么更好的办法Java 方法中的布尔值与调用方法前的布尔值?,java,methods,boolean,action,conditional-statements,Java,Methods,Boolean,Action,Conditional Statements,因此,我想检查我的ev3机器人是否已连接,然后再进行操作 还有什么更好的办法 if (ev3Connected) doStuff(); private void doStuff() { //stuff } 还是这个 doStuff(); private void doStuff() { if (ev3Connected) { //stuff } } 还是根本没有差别?一般来说,我会选择你的第一个选择 if (ev3Connected)
if (ev3Connected)
doStuff();
private void doStuff() {
//stuff
}
还是这个
doStuff();
private void doStuff() {
if (ev3Connected) {
//stuff
}
}
还是根本没有差别?一般来说,我会选择你的第一个选择
if (ev3Connected)
doStuff();
private void doStuff() {
//stuff
}
我这样做是因为更高级的方法应该总是更容易阅读。或者,您可以将doStuff()重命名为dostuffivoconnected(),但您可以感觉到if语句更清晰
这样做的好处是,调试代码的人即使没有输入方法,也会知道在单步执行代码时没有执行doStuff()
如果绝对必须确保除非ev3Connected,否则永远不要输入doStuff(),那么您应该在方法内部抛出异常,同时仍保留If签入父代码。我可以想象,如果改为连接EV4,doStuff可以工作。这完全取决于您正在尝试做什么。如果总是需要在执行
//stuff
之前检查条件,请将其放入方法中。如果您希望能够在不进行检查的情况下调用该方法,则必须在该方法之外进行检查。无论使用何种语言,问题都是一样的。因此被标记为欺骗。