哪个代码集更容易阅读/维护?

时间:2016-02-24 05:18:45

标签: android

以下两个代码都给出了相同的答案。我只是想知道在可读性和可维护性方面哪种编程方法更好。更少的代码行是最好的吗?会不会影响程序的功能?任何建议都会非常感激,因为我只想学习编程的最佳实践。 以下是代码:

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);
    }

3 个答案:

答案 0 :(得分:0)

总的来说,我认为第二个代码更清晰,更具可读性。

它包含moe变量名称,可以告诉它究竟用于什么,例如deckNamecountstrCount。我可以清楚地看到你正在获取每个牌组的名称和卡数,并将它们放在不同的(列表?)适配器中。

对于第一个,我显然需要更多时间来理解它在做什么。所以IMO,第二个!

此外,如果您可以将getDeck_name重命名为getDeckName,那么人们可以更好地阅读。 getDeckName遵循命名Java方法的命名约定,即camelCase。

答案 1 :(得分:0)

根据本书Code Complete - Steve McConnell's

  当你需要一个执行指定次数的循环时,

for loop 是个不错的选择。

   foreach循环 对于对阵列或容器的每个成员执行操作非常有用。

更多访问:Google books - Code Complete

答案 2 :(得分:0)

如果你想从简单列表中获取数据,那么foreach循环很好用但是,,,如果你想从精确位置获取数据或者从id存储而不是for-loop更好..

如我所知,并且没有性能方面的差异两者都是相同的。 正如我的建议use for loop :)