반응형

우리가 책을 읽다 보면 어떤 책은 잘 읽힌다(?) 라는 느낌을 받는 책이 있다. 그런데 어떤 책은 아무리 집중을 하고 읽어도 내용에 집중을 할수가 없고 이해가 되지 않는 책들도 있다. 개발자로서 코드를 읽다보면 비슷한 느낌을 경험하게 된다. 어떤 코드들은 따라 읽기만 해도 이해가 되는가 하면 어떤 코드들은 아무리 디버거를 걸어봐도 이해가 안되는 코드들이 있다.

수많은 개발자들이 각자의 개성과 경험을 바탕으로 코드를 작성한다. 그렇다 보니 똑같은 기능을 하는 코드이지만 정말 다양한 모습의 코드들을 찾아 볼 수 있다. 그렇다 보니 우리는 자연스럽게 어떤 코드들이 좋은 코드인지, 좋은 코드를 작성하기 위해서는 어떻게 해야되는지 관심을 갖을 수 밖에 없다. 

"좋은 코드, 나쁜 코드" 이 책은 우리가 좋은 코드를 작성하는데 참고할 만한 다양한 내용을 담고 있다. 각각의 기술이나 기법들이 많이 설명되어 있지만 그중에서도 중요한 키워드는 아래 4가지가 아닌가 싶다.

코드의 가독성
코드의 모듈화
코드의 재사용성 및 일반화
테스트 용이성 및 적절한 테스트

표현은 다르지만 비슷하게 책 표지에도 나와있다. "읽기 쉽고, 기억하기 쉽고, 적용하기 쉬운 코드".  결국 코드의 가독성을 위해서는 모듈화가 필요하고, 모듈화를 하면 재사용성이 높아지고, 일반화를 해야 한다. 그리고 이렇게 모듈화된 코드들은 단위 테스트를 하기도 쉬워진다. 꼬리에 꼬리를 무는것처럼 선순환 구조인 것이다. 반대로 말하면 하나가 잘못되기 시작하면 모든것이 꼬이게 된다. 

이 책은 크게 3가지 파트로 나뉜다. 이론, 실전, 테스트.

이론 부분에서는 좋은 코드를 만들기 위해서 필요한 사전 지식들을 알려준다.

두번째 파트는 이 책의 핵심인 실전파트이다. 실전 파트이다 보니 코드로 설명해주는 양이 점점 많아진다. 그렇기 때문에 코드에 대한 지식이, 특히 자바 기반 지식이 있으면 이해하는데 도움이 될 것이다. 

그리고 이 책을 읽으면서 좋았던 점은 여러가지 문제들을 제시하고 해결책에 대해서 제시해주는 설명 방법이있다. 여러가지 케이스들이 있다보니 실제 코드를 작성할때 알아 두면 좋은 기법들이 많이 있었다. 읽으면서도 이런것 까지 생각을 해야 하는 구나 라는 것들이 많이 있었다. 

마지막으로는 테스트이다. 여러가지 종류의 단위 테스트에 대해서 설명을 해준다. 테스트 부분에서는 기법도 기법이지만 테스트에 대한 철학이 어떻해야 한다라는 내용들이 더 많았던것 같다. 테스트를 해야 되는 부분이 무엇이고 테스트 코드를 작성할 때에는 어떤것에 더 집중을 해야 하는지에 대한 설명이 많았다. 

코드를 작성하는 개발자들은 코드로 대화를 한다. 그렇기 때문에 작성된 코드를 잘 읽을 수 있어야 하고, 또 잘 읽을 수 있도록 작성을 해야 한다. 말은 쉽지만 결코 쉽지 않다. 하지만 이 책에 나와 있는 내용들을 이해하고 기억하고 있다면 충분히 도움이 될 것이다. 

 

728x90
반응형

+ Recent posts