알라딘

헤더배너
상품평점 help

분류

이름:마이클 C. 페더스 (Michael Feathers)

최근작
2018년 9월 <레거시 코드 활용 전략>

마이클 C. 페더스(Michael Feathers)

오브젝트 멘토(Object Mentor) 사에서 근무하고 있으며, 소프트웨어 개발에 필요한 멘토링, 기술 개발, 지식 이전, 리더십 서비스 등을 공급하는 세계적인 리더이자 기여자 중 한 사람이다. 현재 테스트 주도 개발(TDD), 리팩토링, 객체지향 설계, 자바, C#, C++, 익스트림 프로그래밍(XP)에 대한 세계적인 트레이닝과 멘토링을 맡고 있다. 또한 JUnit 테스트 프레임워크의 C++ 포트인 CppUint과 통합 테스트 프레임워크 FIT의 C++ 포트인 FitCpp의 원저자로서, ACM과 IEEE 학회의 회원이며 3개의 OOPSLA 컨퍼런스에서 CodeFest의 회장을 역임했다.  

대표작
모두보기
저자의 말

<레거시 코드 활용 전략> - 2008년 10월  더보기

하지만 처음부터 문제가 하나 있었다. 초창기 XP 프로젝트의 상당수는 '그린필드(Greenfield)' 프로젝트들이었다. 내가 만나는 고객들은 엄청나게 거대한 코드 베이스들을 가지고 있었고 그들은 문제에 직면해 있었다. 그들은 자신들의 작업을 제어하고 제품을 인도하게 해주는 방법을 필요로 했다. 시간이 지나면서 내 자신이 고객들과 동일한 일을 반복하고 있음을 깨달았다. 결국 이런 인식은 그 당시 함께 일하던 금융기업 팀과의 작업에 어떤 영향을 주었다. 내가 오기 전까지만 해도 그들은 단위테스트는 훌륭하다고 생각해 왔다. 하지만 그들이 가지고 있던 테스트 루틴은 데이터베이스에 여러 번 접근해 큰 덩어리의 코드를 돌리는 작업을 하면서 시나리오 전체를 실행하고 있었다. 테스트 루틴들은 작성하기 힘들었고 그 팀은 실행하는 데 너무 긴 시간이 걸린다고 생각해서 테스트 루틴을 자주 돌리지는 않고 있었다. 의존관계를 깨기 위해 그들과 같이 앉아 작은 코드 덩어리를 테스트 하에 두자 갑자기 데자뷰(d?j? vu), 즉 기시감(旣視感)을 느끼게 되었다. 마치 이 같은 작업을 지금까지 만났던 모든 팀들과 해온 듯한 묘한 기분을 느꼈는데, 이는 그 어떤 사람도 원치 않는 그런 감정이었다. 그것은 코드를 제어해야 할 때 필요한 중노동에 가까운 작업이다. 그래서 나는 이러한 문제들을 어떻게 해결했는지 책으로 남겨 어려움에 처한 팀들이 코드를 더 쉽게 활용하도록 돕기로 결심했다. 이 책에 사용된 예제들은 자바, C++, C 등 다양한 프로그래밍 언어로 작성됐다. 먼저 자바는 가장 많이 사용되는 언어이다. C++ 는 레거시 환경에서 맞닥뜨릴 수 있는 여러 가지 도전과제들을 보여준다. 또한 C 언어는 절차형 레거시 코드에서 나타나는 여러 가지 문제를 강조하는 데 도움을 준다. 많은 언어 중 위에 언급한 언어들은 레거시 코드에서 발생할 수 있는 여러 가지 관심범위를 포함한다. 당신이 사용하는 언어가 예제에 사용되지 않았다고 해도 예제를 한번 보길 바란다. 예제에서 사용한 여러 가지 기법들은 델파이(Delphi), 비주얼 베이직(Visual Basic), 코볼(COBOL), 포트란(FORTRAN)과 같은 다른 언어들에도 활용할 수 있다. 이 책에 있는 기법들이 많은 도움이 되고 또한 당신이 프로그래밍에 재미를 느끼는 데 좋은 계기가 되길 바란다. 프로그래밍은 매우 보람 있고 즐거운 작업이다. 일상에서 아직까지 이런 기분을 느끼지 못했다면 부디 이 책에서 제공한 기법들에서 보람과 즐거움을 찾게 되길 바란다.

가나다별 l l l l l l l l l l l l l l 기타
국내문학상수상자
국내어린이문학상수상자
해외문학상수상자
해외어린이문학상수상자