검색 API를 여러 개 붙이는 것이 생각보다 쉽지 않더군요. 이 말은 확장이 불편하다는 거고 다시 또 이 말은 중복된 코드로 인해 코드 끼리 의존성이 심해졌다는 것입니다.

소스 코드 문제점

현재까지 크게 두 부분이 문제가 됩니다.

public static int search(Sentence sentence) {
        int totalResult = useNaverAPI(sentence, "blog")
            + useNaverAPI(sentence, "webkr")
            + useNaverAPI(sentence, "kin")
            + useDaumAPI(sentence, "blog");
        sentence.setPoint(totalResult);
        return totalResult;
    }

이런식으로 API를 사용하는 메소드를 호출하여 사용하게 되는데 useNaverAPI와 useDaumAPI는 요청을 보내는 문자열만 다를 뿐 하는 일은 완전히 같기 떄문에 엄청난 양의 중복된 코드를 발생시켰습니다.

이것과 더불어 Sentence 객체를 보면 다음과 같이 만들어져 있습니다.

public class Sentence {
    private String line;

    private int copyLebel;

    private String naverBlogURL;

    private String naverWebURL;

    private String naverKnowURL;

    private String daumBlogURL;

어처구니가 없는거죠.ㅋㅋ Map을 쓰면 되는데 API 붙일 때 마다 속성을 하나씩 추가 해야 된다니.. 왜 naverWebURL 속성을 만들 때 미쳐 중복을 제거할 생각을 못했을까요..ㅠ.ㅠ 아니면 생각은 했지만 Map을 쓰는게 익숙하지 않아서 못본척 하고 넘어려는 자아가 공부하려는 자아를 속였을 수 있습니다. 그리고는 마치 몰랐었던 척..하는...나쁜 기선.

화면의 문제점

사용자 삽입 이미지첫 화면 입니다. 간단한 메뉴얼이 눈에 걸리적 거립니다. 좀 더 이쁘게 보여줄 수 없을런지.ㅠ.ㅠ 전체적인 색은 제가 좋아하는 파란색과 하얀색 계열로 바꿔야 겠습니다.

사용자 삽입 이미지흠..텍스트 위주의 화면..저도 이쁜 아이콘과 그림으로 꾸미고 싶습니다. 표는 AJAX로 멋지게 "전체 결과 보기" 같은 탭을 열어 주면 쫙~ 펼처지도록 하고 싶...지...만... 31일까진 무리라는거.. CSS는 역시..색을 좀 조절하고.. 테이블 모양도 좀 더 괜찮은 모양으로 바꿔줄까 합니다.

화면 코드 문제점

jsp 파일 두 개에서도 헤더와 푸터가 중복되어 나타나고 있는데요. 그걸 include 인가를 사용해서 제거 해야겠습니다.

그리고 "있다" "없다"를 판단해서 찍어주는 JSTL 코드 부분이 계속 반복해서 나타납니다. 이건 태그파일을 사용해서 코드를 간결하게 줄일 수 있겠습니다.