我重构了一些代码,其中一段看起来像这样 -
public void addElementPairsToConfig(final Config config, final Element element1, final Element element2, final Element...elements) throws Exception {
config.addDependency(element1, element2);
Element currentElement = element2;
for (int i = 0; i < elements.length; i++) {
config.addDependency(currentElement, elements[i]);
currentElement = elements[i];
}
}
这是我认为它应该看起来的样子 -
public void addElementPairsToConfig(final Config config, final Element...elements) throws Exception {
for (Pair<Element, Element> pair : elements.getNextPair()) {
config.addDependency(pair.getFirst(), pair.getLast());
}
}
我知道Apache Commons
有一个Pair
类,我会使用它,但无法找到执行此操作的List util方法,是否存在。我不介意自己写一个,但我宁愿不重新发明轮子并使用Apache Commons
或Guava
中存在的东西。
在红宝石世界中,我使用slice之类的东西。
答案 0 :(得分:1)
您对方法签名的更改非常好。但是,您对方法实现的想法是过度设计。我建议保持简单:
public void addElementPairsToConfig(final Config config, final Element...elements) throws Exception {
for (int i = 1; i < elements.length; i++) {
config.addDependency(elements[i-1], elements[i]);
}
}