본문 바로가기
교재 실습/자바 웹 프로그래밍 Next Step

13.4 설계, 테스트, 리팩토링

by jint 2025. 12. 11.

개발자가 갖추어야 할 중요한 역량 중 하나는 사람이 읽을 수 있는 깔끔한 코드를 구현하는 것이다. 가장 중요하지만 쉽게 쌓을 수 없는 역량 중 하나이기도 하다. 어쩌면 개발자로서의 생을 마감하는 순간까지 끊임없이 노력해야 하는 부분이 내가 만족할 수 있는 수준의 코드를 구현하는 것일 수도 있다.

깔끔한 코드를 구현하는 가장 빠른 지름길은 지속적인 리팩토링을 통해 설계를 개선하는 연습을 하는 것이다. 코드를 많이 구현하는 것보다 의도적 수련(당신이 제자리 걸음인 이유 : 지루하거나 불안하거나(http://egloos.zum.com/agile/v/5749946) 글을 통해 의도적 수련이 무엇이며, 의도적 수련을 하는 방법에 대해 살펴볼 수 있다)을 통해 코드를 개선해 나갈 때 자신이 만족하는 깔끔한 코드를 구현하는 단계에 도달할 수 있다. 다음에 추천하는 책들은 개발자로 성장하면서 한번쯤 읽었으면 하는 것들이다.

깨끗한 코드를 작성하는 방법은 배우기 어렵다. 단순히 원칙과 패턴을 안다고 깨끗한 코드가 나오지 않는다. 고생하며 스스로 연습하고 실패도 맛봐야 한다. 남들의 시행착오도 봐야하는데, 이런 경험을 간접적으로 하도록 도와주는 책이 "Clean Code 클린 코드 : 애자일 소프트웨어 장인 정신"(로버트 C. 마틴 저/박재호, 이해영 공역, 인사이트/2013년)이다. 많은 소스코드를 제공하며, 어떤 코드가 좋은 코드인지, 나쁜 코드인지에 대해 생각하도록 하는 좋은 책이다.

또한 같이 읽었으면 하는 책은 "켄트 벡의 구현 패턴 : 읽기 쉬운 코드를 작성하는 77가지 자바 코딩 비법"(켄트 벡저/전동환 역, 에이콘출판사/2008년)이다. 이책 또한 좋은 코드를 구현하기 위한 다양한 패턴에 대해 설명하고 있다. 단, 많은 예제를 제공하고 있지 않기 때문에 초보 개발자에게는 다소 어려울 수 있다. 따라서 클린 코드 책과 병행하여 읽을 것을 추천한다.

이 단계에서 한 단계 더 나아간 몇 권의 책을 추천한다. 테스트 주도 개발은 나무를 보는것에 집중하는데 더 큰 숲을 보면서 설계하고 개발하는 과정을 경험하고 싶다면 "테스트 주도 개발로 배우는 객체지향 설계와 실천"(스티브 프리먼, 냇 프라이스 공저, 인사이트(insight)/2013년) 책을 추천한다. 이 책은 테스트 주도 개발에서 한 단계 더 나아가 ATDD(Acceptance TDD) 기반으로 애플리케이션을 개발하는 과정을 다룬다.

또한 "도메인 주도 설계 : 소프트웨어의 복잡성을 다루는 지혜"(에릭 에반스 저/이대엽 역, 위키북스/2011년), "레거시 코드 활용 전략 : 손대기 두려운 낡은 코드, 안전한 변경과 테스트 기법"(마이클 C. 페더스 저/이우영, 고재한 공역, 에이콘출판사/2008년) 이 두 권도 추천한다.

자기가 구현한 코드의 문제점을 파악하고 리팩토링 하는 과정은 생각보다 쉽지 않다. 따라서 소스코드에 대한 리뷰를 주고 받고, 토론할 수 있는 동료 개발자를 찾을 것을 추천한다. 혼자 읽을때 보다 스터디를 통해 읽으며 토론하면 더 많은 것을 배우고 느낄 수 있다.



참고도서 : https://roadbook.co.kr/169

 

[신간안내] 자바 웹 프로그래밍 Next Step

● 저자: 박재성 ● 페이지: 480 ● 판형: 사륙배변형(172*225) ● 도수: 1도 ● 정가: 30,000원 ● 발행일: 2016년 9월 19일 ● ISBN: 978-89-97924-24-0 93000 [강컴] [교보] [반디] [알라딘] [예스24] [인터파크] [샘

roadbook.co.kr

댓글