所以我想检查一下,例如我的ev3机器人是否已连接,然后才开始行动。
什么是更好的方式,这个
if (ev3Connected)
doStuff();
private void doStuff() {
//stuff
}
还是这个?
doStuff();
private void doStuff() {
if (ev3Connected) {
//stuff
}
}
或者只是零差异?
答案 0 :(得分:0)
一般来说,我会选择第一个选项。
if (ev3Connected)
doStuff();
private void doStuff() {
//stuff
}
我这样做是因为更高级别的方法应该总是更容易阅读。或者你可以将doStuff()重命名为doStuffIfEvoConnected(),但你可以尝试if语句更清楚。
这样做的好处是,调试代码的人会知道,即使没有输入方法,在单步执行代码时也没有执行doStuff()。
如果永远不要输入doStuff(),除非ev3Connected是绝对必要的,那么你应该从方法内部抛出异常,同时仍然使用if检查父代码。我可以想象,如果例如ev4Connected,doStuff可以工作。