以下两个代码都给出了相同的答案。我只是想知道在可读性和可维护性方面哪种编程方法更好。更少的代码行是最好的吗?会不会影响程序的功能?任何建议都会非常感激,因为我只想学习编程的最佳实践。 以下是代码:
for (int i = 0; i < db.getAllDecks().size(); i++)
{
String CardCount = String.format("(%s)",db.getCardsForDeck(i+1).size());
adapter2.add(db.getAllDecks().get(i).getDeck_name());
adapter3.add(CardCount);
}
或
for (Deck deck: deckList) {
String deckName = deck.getDeck_name();
adapter2.add(deckName);
int count = db.getCardIds(deck).length;
String strCount = Integer.toString(count);
adapter3.add(strCount);
}
答案 0 :(得分:0)
总的来说,我认为第二个代码更清晰,更具可读性。
它包含moe变量名称,可以告诉它究竟用于什么,例如deckName
,count
和strCount
。我可以清楚地看到你正在获取每个牌组的名称和卡数,并将它们放在不同的(列表?)适配器中。
对于第一个,我显然需要更多时间来理解它在做什么。所以IMO,第二个!
此外,如果您可以将getDeck_name
重命名为getDeckName
,那么人们可以更好地阅读。 getDeckName
遵循命名Java方法的命名约定,即camelCase。
答案 1 :(得分:0)
根据本书Code Complete - Steve McConnell's
当你需要一个执行指定次数的循环时,for loop 是个不错的选择。
foreach循环 对于对阵列或容器的每个成员执行操作非常有用。
答案 2 :(得分:0)
如果你想从简单列表中获取数据,那么foreach循环很好用但是,,,如果你想从精确位置获取数据或者从id存储而不是for-loop更好..
如我所知,并且没有性能方面的差异两者都是相同的。 正如我的建议use
for loop :)