【发布时间】:2015-03-06 14:24:09
【问题描述】:
假设我有一个对象 Car,它有五个参数,{ numwheels, color, mileage, horsepower, maxSpeed }。 我有一个需要其中 3 个值的方法。 据说这两个选项中的哪一个是最佳实践? 传递封闭对象并减少参数数量是否更好,或者只是将最少的数据传递给方法(例如:方法2中不会访问numwheels和color)?
-
选项 1 传递整个对象:
void compute(Car c, Person p) { return c.mileage + c.horsepower + c.maxSpeed + p.age; } -
选项 2:只传入方法值。
void compute(int mileage, int horsepower, int maxSpeed, int age) { return mileage + horsepower + maxSpeed + age.; }
注意:假设由于某种原因,compute 不能成为 Car 类的一部分。请记住这个假设来回答。
【问题讨论】:
-
可能是口味决定的。遵循约定总是有帮助的,所以我会说使用更少的参数更常见,更有意义,最重要的是更灵活(更改
Car类中的字段不会更改方法签名)
标签: java design-patterns coding-style