【发布时间】:2010-02-11 14:01:14
【问题描述】:
今天在调试一些 Web 服务客户端代码时(在 Java 中,使用 jax-ws),我遇到了一个具有 97 个参数的 Web 服务方法!
我不得不创建一个调用这个方法的测试用例,我注意到了几件事:
- 代码辅助/悬停不能很好地扩展。我使用的是 Eclipse,该方法的工具提示与屏幕一样宽,跨越几行。
- 我不得不从以前的 xml 捕获中复制参数值,而且几乎不可能记住“我在哪里” - 当我将光标定位在逗号之后并且在输入一些值之前,我经常弄错数据类型- 我输入的是整数而不是字符串,反之亦然。
- 即使我写了所有的参数,我仍然有一些错误,签名不匹配。不幸的是,Eclipse 将整行标记为有错误,因此查找错误所在的位置需要更多时间:(
所以这让我想到,你认为一个方法的最大合理参数数量是多少?如果您可以更改此 Web 服务签名,您认为可以如何改进?
【问题讨论】:
-
改为传递参数名称/值的字典?
-
@pisswillis,我想到了,也许它对常规方法很有用,但是对于 web-service,它破坏了合同的全部意义。您还会遇到如何将 dict 序列化为 xml 的问题,并且您的数据模型变得更加轻松(dict 可能有缺失值等)。
-
97 个参数!?听起来像是每天的 WTF。
-
97?!不改,申请吉尼斯纪录!
-
@ragu.pattabi:不是记录:stackoverflow.com/questions/174968/….
标签: language-agnostic ide parameters