코드 리뷰를 하다보면 가장 자주 발견하는 문제 중 하나가 바로 "출제자의 의도 파악" 문제이다.

많은 초보 개발자들은, 컴포넌트, 또는 클래스나 클래스의 메소드를 사용할 때, 그 컴포넌트의 내용을 자세히 살펴보지 않고 사용을 하곤 한다. ‘일단 잘 돌기만 하면 되지 않나’라는 생각 때문일 것이다.

하지만, 본래의 의도와 다른 목적으로 사용된 컴포넌트는, 언젠가는 꼭 문제를 일으키기 마련이다.

대표적인 예로,

  • 코드의 가독성을 저하시켜, 협업 시에 불필요한 비용을 낭비한다.
  • 해당 컴포넌트의 버전을 업데이트 할 때, 해당 컴포넌트의 로직 변경으로 인해 오동작이 발생한다.
  • 기능의 추가/확장, 또는 사용 범위가 넓어짐에 따라 오류가 발생한다.

잘 만들어진 컴포넌트일수록, 각 메소드의 의도와 목적, 그리고 책임이 명확히 정해져있다. 

대입 시험 문제를 풀 때와 마찬가지로, 출제자의 의도를 파악하는 과정은, 소프트웨어 개발 전반에 있어 가장 중요한 부분이라해도 과언이 아닐 것이다.

저작자 표시 동일 조건 변경 허락

'Software Engineering' 카테고리의 다른 글

[추천서적] Implementation Patterns - Kent Beck  (6) 2009/11/19
일정은 줄어들지 않는다  (2) 2008/09/30
출제자의 의도 파악 문제  (2) 2008/05/30
깨끗한 코드  (2) 2008/03/10
소프트웨어의 수명 정하기  (0) 2008/02/22
성급한 퍼포먼스 튜닝  (6) 2007/05/06
Posted by 찬익

트랙백 주소 : http://blog.chanik.com/trackback/3 관련글 쓰기

댓글을 달아 주세요

  1. BlogIcon 퍼플린 2010/04/16 10:17  댓글주소  수정/삭제  댓글쓰기

    야매로 배우면 안되는듯 -ㅅ-;

    무협지 식으로 마공은 빠르게 일정 수준에 올라갈 수 있지만 절정에 도달하기 힘들고 문제가 발생하는 경우가 많지요

    2008년 글에 2010년에 댓글을 시간을 달리는 소년 -ㅅ-;

    • BlogIcon 찬익 2010/04/17 07:34  댓글주소  수정/삭제

      사파 코딩인가요. ㅎㅎ
      2008년 처음 글 작성했던 당시에도 검쉰 외에는 별다른 답글이 없었던 글..
      하지만 제가 작성했던 포스트 중에서 가장 중요한 글 중 하나라고 생각해요.
      답글 감사합니다.