함수 사례 추출 한 번 순환 중 여러 퀘스트 완성

1880 단어

함수 사례 추출 한 번 순환 중 여러 퀘스트 완성


참고 자료


코드 수정의 예술 6.1 새로운 방법

원시 코드


요구: 발표되지 않은 entry만 발표 날짜를 표시하고 목록에 추가합니다.
public class TransactionGate{
    public void postEntries(List entries){
        for(Iterator it = entries.iterator(); it.hasNext();){
            Entry entry = (Entry) it.next();
            entry.postDate();
        }
        transactionBundle.getListManager().add(entriesToAdd);
    }
}

방식 1

public class TransactionGate{
    /*
       2        :       ,         。
    */
    public void postEntries(List entries){
        List entriesToAdd = new LinkedList();
        for(Iterator it = entries.iterator(); it.hasNext();){
            Entry entry = (Entry) it.next();
            if(!transactionBundle.getListManager().hasEntry(entry){
                entry.postDate();
                entriesToAdd.add(entry);
            }
        }
        transactionBundle.getListManager().add(entriesToAdd);
    }
}

방식 2

public class TransactionGate{
    public List uniqueEntries(List entries){
        List result = new LinkedList();
        for(Iterator it = entries.iterator(); it.hasNext();){
            Entry entry = (Entry) it.next();
            if(!transactionBundle.getListManager().hasEntry(entry){
                result.add(entry);
            }
        }
        return result;
    }
    /*
                          ,                    。
    */
    public void postEntries(List entries){
        List entriesToAdd = uniqueEntries(entries);
        for(Iterator it = entries.iterator(); it.hasNext();){
            Entry entry = (Entry) it.next();
            entry.postDate();
        }
        transactionBundle.getListManager().add(entriesToAdd);
    }
}

좋은 웹페이지 즐겨찾기