对于具有大量参数的函数,是否有任何解决方法?

sap*_*Pro 5 java arguments function

我每天都会调用一次函数:

new SubmitLogs().mail(IP, date_time_UTC, date_time_IST , pageVisited , userCountry , userRegion , city , userAgent);
Run Code Online (Sandbox Code Playgroud)

函数参数不断增长.最初它就像:

new SubmitLogs().mail(IP, date_time_UTC, userAgent);
Run Code Online (Sandbox Code Playgroud)

现在还有5个参数.它预计会在一周内包含更多的参数.现在我不喜欢这样.保留具有如此多参数的函数对我来说似乎不是一件好事.这有什么工作吗?如果函数不断增长,我将永远不想向函数发送50个参数.该电话的作用是通过短信和短主题通过电子邮件发送参数中的详细信息.

RNJ*_*RNJ 10

你有两个选择

  1. 尝试将一些参数组合到一个对象中.这将把类似的东西封装在一起.例如,您可以将userRegion,userCountry和city放在一起定位到Location对象中

  2. 或者,Builder模式很好.Josh Bloch的Effective Java有一个很好的章节.