0

私は以下のような同様のクラス構造を持っています:

       public class Foo extends Base{
                ...
        }   

        public class Bar extends Base{
                ...
        }

        public class Aos extends Base{
                ...
        }

        public class Wrap{
            List<Foo> getFooList();
            List<Bar> getBarList();
            List<Aos> getAosList();
        }

Fold fooFold = getFooFold();
Fold barFold = getBarFold();
Fold aosFold = getAosFold();

    // Code to refactor
        for (Obj e : fooFold.getObj()) {
               Foo foo = new Foo(.., .., ..);
               for (Som s: e.getSom())) {
                    doSom();
               }
               wrap.getFooList().add(foo);
        }

        for (Obj e : barFold.getObj()) {
               Bar bar = new Bar(.., .., ..);
               for (Som c : e.getSom())) {
                    doSom();
               }
            wrap.getBarList().add(bar);
        }

        for (Obj e : aosFold.getObj()) {
             Aos aos = new Aos(.., .., ..);
             for (Som c : e.getSom())) {
                    doSom();
            }
               wrap.getAosList().add(aos);
        }

for ループをリファクタリングするにはどうすればよいですか? ( for ループは「少し」複雑です。ロジックは常に同じです。リストの反復、オブジェクトの作成、およびリストへのオブジェクトの追加は異なります。)

4

3 に答える 3

0

コードが上記のように本当に単純な場合、コードを単純化するために行うリファクタリングは、最終的にコードをより複雑にするだけであることに気付くでしょう。

于 2013-10-23T08:38:02.160 に答える