반응형

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

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

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

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

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

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

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

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

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

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

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

 

728x90
반응형
반응형

대학교를 졸업한 이후로 수학책을 펼쳐본 것이 얼마만인지 모르겠다. 프로그래밍을 하면서, 알고리즘을 공부하면서 항상 수학에 관심은 있었지만 다시 중학교, 고등학교 수학을 다시 살펴보기에는 너무 양이 많다고 생각했다. 공부해보면 재미있지 않을까라는 생각만 몇년째 하고 있는지 모르겠다. 

그런데 이렇게 길벗출판사 개발자 리뷰어에 선정이 되어서 "다시 고등 수학" 이라는 책을 읽어보게 되었다. 

참고로 말하지만 이 책은 내가 아직 다 읽지는 못했다. 수학에 대한 내용이고 증명이 많이 나오다 보니 좀다 잘 이해하고 싶은 마음에 천천히 읽어가고 있다.

이 책은 아래와 같이 고등학교 과정이라고 표시되어있는 부분의 내용들을 총 7장에 걸쳐서 다룬다. 7개의 장은 각각 기하학, 대수학, 해석기하학, 정수론과 수열, 해석학, 확률과 통계, 대학 수학으로 가는 길로 이루어져 있다.

전체 내용이 고등 수학을 다루기는 하지만 그렇다고 중학교에 나오는 수학이 아예 안나오는건 아니다. 필요한 부분에 대해서는 중학교에서 나왔던 수학도 설명을 해주기 때문에 중학교 수학이 기억이 안난다고 걱정할 필요는 없다. 

책의 구성이나 내용의 정리는 눈에 쉽게 들어오도록 구성되어있다. 색깔이나 글자도 과하지 않고 적절한 공간과 큰 그림들이 내용을 이해하는데 많은 도움을 줬다. 앞에서 말한것 처럼 증명에 대한 내용들이 많이 나왔는데 고등학교 다닐때 증명이 나오면 정말 읽기 싫었는데 이 책에서는 왜인지 모르게 읽게 되는 묘한 매력이 있었다. 학교 다녔을때 배웠던 그 느낌과 지금 다시 보는 느낌이 달라서였을까? 어쨌든 수학책 임에도 불구하고 딱딱하지 않으면서 내용을 잘 이해 할수 있도록 내용이 구성된것 같다.

내가 이 책을 읽지만 이 책의 내용들을 언제 써먹을 일이 생길지는 모르겠다. 하지만 그렇게 잘한편은 아니지만 잘하고 싶었던 과목이었던 수학을 지금 다시 만나니 새로웠다. 서점에 가서 고교 문제집을 사거나 하는 노력을 들이지 않아도 충분히 내가 알고 싶었던 내용의 수학을 잘 배울수 있고 다시 생각하게 해주는 재미있는 책이다.

"이 책은 길벗 출판사 개발자 리뷰어에 선정되어서 작성한 리뷰 입니다."

728x90
반응형

+ Recent posts