리팩토링 Refactoring - 코드 품질을 개선하는 객체지향 사고법
Martin Fowler 지음, 김지원 옮김 / 한빛미디어 / 2012년 11월
평점 :
구판절판


프로그램의 가치를 높이는 기술. 프로그래밍을 공부하면서 처음에는 기본적인 부분을 공부하고 알고리즘과 데이터베이스 등을 공부하고 컴퓨터 관련 과목들과 흐름들을 보게 된다. 프로그래밍 공부를 하면서 프로젝트도 정해서 하게되고 필요한게 무엇인지 생각 한 후에 필요한 부분을 코딩하기 시작한다. 프로그래밍을 막 시작한 사람들은 학생들이 주를 이룬다. 학생들은 처음 프로젝트 주제를 정하면 사용자는 생각 못해보고 일단 할수 있는데까지만 시도하게 된다.

 

그때 맨토가 있으면 맨토에게 도움을 요청하거나 독학 또는 학원을 통해서 프로그래밍을 공부하고 직장에 들어 가게된다. 직장에 들어가면 프로젝트를 하면서 유지보수해야하고 사용자 요구사항을 들어줘야하고 사용자들이 어떤걸 필요로하고 사용자의 입장에서 많이 생각하고 그런 필요로 하는게 늘어날수록 코딩이 복잡해지고 코딩 하는 중 오류가 많이 생겨난다. 이 책의 제목은 리팩토링인데 마틴 파울러라는 저자가 쓰게 되었다.

 

리팩토링은 코드 품질을 개선하는 객체지향 사고법을 말한다. 우리가 많이 쓰는 언어와 공부하는 언어는 C언어인데 C언어는 절차지향적인 언어로 객체지향과는 많이 다르다. 하지만 다른 언어들을 배우기에 앞서서 C언어를 공부하면 좋다. 프로그래밍이란게 유형이 비슷하고 컴퓨터가 이해 할 수 있는 언어들로 바꿔주는 작업을 하기에 C언어는 다른 형태로 파생된 케이스가 많기 때문에 프로그래밍 공부를 할 때 가장 먼저 C언어 하는 것을 추천한다.

 

C언어에서 파생된것중 자바라는 언어가 있는데 자바는 객체 지향의 언어이다. 가장 처음에는 공공기관이나 그런 곳에 이용하기 위해 생겨난 언어이지만 현재는 웹페이지나 여러가지에도 이용되며 많은 곳에 쓰이고 있다. 자바는 객체 지향 언어로서 객체는 하나의 형태가 있는것이다. 책도 하나의 객체가 될 수 있고 책상, 의자 이런 형태를 객체라 한다.

 

책의 저자인 마틴 파울러는 개발자들이 개발을 하면서 코딩을 할 때 사용자의 요구상황에 따라 일을 한다고 하지만 그건 일을 효율성 있게 일하는게 아니라 그냥 했던 것에 더 추가하기만 하고 더 좋게 만들려 안하는 개발자를 많이 봐와서 그런 개발자들에가 한마디 하였다. 그런 코딩들은 악취가 난다. 객체지향을 더 활용하고 방법을 개선한다면 더 좋은 코딩을 만들 수 있고 오류도 줄일 수 있는데 그러지 않는다고 아쉬워했었다.

 

리팩토링 객체를 이용하면 코드의 동작이나 의도는 유지하면서 코드의 구조, 재사용성, 가독성을 개선해 코드의 악취 지저분함을 제거하고 전체 디자인또한 개선할수 있다. 리팩토링 기술에는 72가지가 있으며 코드를 점진적으로 개선하는 방법을 학습할수 있다. 이 책을 통해서 어떤 코드를 고쳐야 하고 왜 고쳐야하는지, 고친 코드가 왜 좋은지 이해 할수 있었으면 하는게 저자의 마음이다. 객체지향이란 말에 어울리는 코드를 하고 품질을 올렸으면 한다. 프로그래밍 하는 사람들이 다 좋게 만들고 싶어하지만 잘 안되는게 현실이지만 앞으로의 코딩이 더 아름다워지고 발전했으면 한다.


댓글(0) 먼댓글(0) 좋아요(0)
좋아요
북마크하기찜하기 thankstoThanksTo