gpt4 book ai didi

java - 如何格式化具有大参数列表的方法

转载 作者:bug小助手 更新时间:2023-10-28 10:45:59 26 4
gpt4 key购买 nike

我从未见过一种很好地做到这一点的方法,我很想看看其他人是如何做到的。目前我的格式是这样的:

public Booking createVehicleBooking(Long officeId, 
Long start,
Long end,
String origin,
String destination,
String purpose,
String requirements,
Integer numberOfPassengers) throws ServiceException {
/*..Code..*/
}

最佳答案

像这样的大量参数通常(但不总是)表明您可以使用对象来表示参数集。在以下情况下尤其如此:

  • 有几种方法具有相似的大参数集,可以用带参数对象的单个方法替换。

  • 方法名为create...

所以你上面的代码可能会变成(请原谅我的 C++,我是 Java 开发人员):

class BuildVehicleBooking {
Long officeId;
Long start;
Long end;
String origin;
String destination;
String purpose;
String requirements;
Integer numberOfPassengers;

Booking createVehicleBooking () throws ServiceException { ... }
}

这是 builder 模式。这种模式的优点是您可以在最终调用 create 方法结束。

另一个潜在的优势是您可以添加一个 verifyParameters 方法,该方法在您创建最终对象之前检查它们的一致性。这适用于创建对象涉及不可逆步骤的情况,例如写入文件或数据库。

请注意,与所有模式一样,这并不适用于所有情况,也可能不适用于您的情况。如果您的代码足够简单,那么这种模式可能会过度设计它。如果代码变得杂乱无章,重构为这种模式可能是简化它的好方法。

关于java - 如何格式化具有大参数列表的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/189787/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com