如何为返回具有已知键的映射的方法编写 javadoc
How to write javadoc for method returning a map with known keys
假设我有这样的方法:
Map<String,Object> getData()
假设可能的键列表和这些键的对象类型已知,记录它将包含哪些键和值的好方法是什么?
[编辑]
假设我不能't/won以需要更改其他代码的方式更改方法,我怎样才能明智地记录它?
我建议使用一个列出这些键的枚举(如果对您的情况有意义,可能还有一个用于值 classes 的枚举)。假设您真的预先知道 all 个可能的键,那将是最有意义的。从那里开始:如果您的密钥确实已知且有限,那么为什么要使用字符串作为密钥?您也可以改为 Map<EnumForKeys, Object>
。
好处是您可以在每个枚举常量上放置漂亮的 javadoc;参见 here。而且您知道,假设值 class 对于每个不同的键都是固定的,您可以在该 Enum 上放置一个方法,该方法实际上直接告诉您值 class。
下一个但不太吸引人的选择是在某个地方有一些静态列表,其中包含所有可能的键。
编辑:鉴于您最后的评论选项当然非常有限。在那种情况下,您仍然可以使用 Enum 来列出潜在的键,并将 {@link}
放入您的方法的 javadoc 中。当然,所有这些都只是 "informal";但是总比没有好。
假设我有这样的方法:
Map<String,Object> getData()
假设可能的键列表和这些键的对象类型已知,记录它将包含哪些键和值的好方法是什么?
[编辑]
假设我不能't/won以需要更改其他代码的方式更改方法,我怎样才能明智地记录它?
我建议使用一个列出这些键的枚举(如果对您的情况有意义,可能还有一个用于值 classes 的枚举)。假设您真的预先知道 all 个可能的键,那将是最有意义的。从那里开始:如果您的密钥确实已知且有限,那么为什么要使用字符串作为密钥?您也可以改为 Map<EnumForKeys, Object>
。
好处是您可以在每个枚举常量上放置漂亮的 javadoc;参见 here。而且您知道,假设值 class 对于每个不同的键都是固定的,您可以在该 Enum 上放置一个方法,该方法实际上直接告诉您值 class。
下一个但不太吸引人的选择是在某个地方有一些静态列表,其中包含所有可能的键。
编辑:鉴于您最后的评论选项当然非常有限。在那种情况下,您仍然可以使用 Enum 来列出潜在的键,并将 {@link}
放入您的方法的 javadoc 中。当然,所有这些都只是 "informal";但是总比没有好。