본문 바로가기

도서

[ 내 코드가 그렇게 이상한가요? ] 1장~2장 정리

 

 

 

< 1장 잘못된 구조의 문제 깨닫기 > 

 1. 의미를 알수 없는 이름

 2. 이해하기 어려운 조건분기 중첩

 3. 데이터클래스 설계 오류 

     예) 데이터클래스와 계산 로직 분리된 경우 -> 응집도가 낮아짐.

       ※ 응집도가 낮은 경우 발생 상황

            1. 코드중복

            2. 수정해야할 곳 누락 -> 응집도가 낮아 수정할 곳이 여기저기 흩어지게 되면서 누락될 가능성 높아짐

            3. 가독성 저하 -> 분석하는데 너무 많은 시간 할애하게 됨

            4. 초기화되지 않은 상태 ( 쓰레기 객체 ) -> 초기화해야하는 클래스라는 것을 모르면 버그 발생높아짐.

            5. 잘못된 값 할당 

 

< 2장 설계 첫걸음 >

 1. 의도를 분명히 전달할 수 있는 이름 설계

 2. 목적별로 변수를 따로 만들어 사용

 - 변수에 값을 다시 할당하는 것을 재할당이라고 함. 재할당은 변수의 용도가 바뀌는 문제를 일으키기 쉬움.

   코드를 읽는데 혼란스럽게 만들고, 버그를 만들어낼 가능성이 높아짐.

    재할당으로 기존 변수를 다시 사용하지 말고, 목적별로 변수를 만들어사 사용하자.

 3. 단순 나열이 아니라, 의미 있는 것을 모아 메서드로 만들기

 - 의미있는 로직을 모아 메서드로 구현하는 것이 좋음.

   코드의 양이 많아질지라도 읽고 이해하기는 훨씬 쉬움.

 

※ 이처럼 유지보수의 변경이 쉽도록 변수의 이름과 로직을 신경써서 작성하는 것이 곧 설계 이다. 

 

 4. 관련된 데이터와 로직을 클래스로 모으기

 - '변수'와 '변수를 조작하는 로직'이 계속해서 이곳저곳에서 중구난방으로 만들어지고 있음. 작은 프로그램에서는 문제가 없겠지만      큰 프로그램에서는 관련 로직을 찾아 다닌 것만으로도 많은 시간이 필요해짐.

    게다가 잘못된 값이 들어갈수도 있음.

    값이 잘못된 상태로 프로그램이 계속해서 동작한다면, 버그 발생함.

    이러한 문제를 해결해주는것 바로 클래스임.

    클래스는 데이터를 인스턴스 변수로 갖고, 인스턴스 변수를 조작하는 메서드를 함께 모아 놓는것

    서로 밀접한 데이터와 로직을 한곳에 모아 두면, 이곳저곳 찾아 다니지 않아도 괜찮음.