【发布时间】:2010-02-09 10:44:05
【问题描述】:
我更喜欢使用局部变量而不是多次调用同一个方法。
/*
* I prefer this
*/
Vehicle vehicle = person.getVehicle()
if (vehicle instanceof Car) {
Car car = (Car) vehicle;
car.openSunroof();
} else if (vehicle instanceof Bike) {
Bike bike = (Bike) vehicle;
bike.foldKickstand();
}
/*
* Rather than this
*/
if (person.getVehicle() instanceof Car) {
Car car = (Car) person.getVehicle();
car.openSunroof();
} else if (person.getVehicle() instanceof Bike) {
Bike bike = (Bike) person.getVehicle();
bike.foldKickstand();
}
- 我相信第一种方法的执行速度会快一点
- 我认为第二种方式违反了 DRY 原则
- 我发现第一种方式更具可读性且更易于调试(...可以忽略不计,因为我可以跳过)
- 我不想处理更改对象状态的可能性
你更喜欢哪个,为什么?
【问题讨论】:
标签: java coding-style