|
로버트 C. 마틴의 clean code 클린코드 한국어 번역판 리뷰 입니다. 영어버전을 살까 한국어버전을 살까 하다가 그냥 이걸로 샀습니다. 워낙 베이직에 필요한 책이라 한권 가지고 있으면 좋을 것 같습니다. 코드를 클린하게 짜는게 협업을 할때 중요하기에 두고두고 공부가 필요한 듯 해요. 책이 무척 두껍고 많은 양을 다루고 있습니다. 공부 해도해도 끝이 없네요 ㅎㅎ |
|
클린 코드(Clean Code) 수많은 개발자들이 추천하고 필독서라고도 불릴 정도로 유명한 책입니다.
하지만 막상 구매하여 받아보면 쉽게 손이가는 책은 아닙니다. 당장 업무에 필요한 기능을 찾기 위한 책도 아니고 책의 두께도 꽤나 부담스럽게 다가옵니다.
하지만 좋은 코드와 나쁜 코드를 비교해보고 고민하다보면 어느샌가 펼치게 되는 그런 책인 것 같습니다.
어찌됐건 좋은 개발자, 좋은 시니어 개발자의 코드는 깔끔하고 직관적이며 수정과 협업이 쉬운 클린한 코드입니다.
기술의 깊이도 중요하지만 클린코드가 담고 있는 내용 또한 시니어 개발자로 가기 위한 중요한 덕목이라 생각합니다.
연차만 앞세울 것이 아니라, 시니어, 아키텍트로 성장할 것이라면 많은 분들이 옆에 두고 읽는 책이 아닐까 싶습니다. |
|
이번에 회사에서 스터디를 하려고 하는데 스터디 정해진 책이 "클린 소프트웨어" 입니다. 스터티원들도 다 구매했는데 워낙 주변에서 추천하는 책으로도 유명해서 스터디 책을 선택하는게 대해서는 오래걸리지도 않았고 호불호도 없었습니다. 애자일 방법론, TDD, 패어 프로그래밍, 디자인 패턴등에 대한 내용들이 자세히 실려있다. 주니어 개발자들이라면 반드시 봐야하는 책인거 같다. |
|
아키텍처 관련 책은 처음 읽어서 굉장히 깊게 다가온 책입니다. 프로젝트를 클린 아키텍처로 설계하게 되면서 더 깊게 개념 공부를 하고 싶어 주문하게 되었는데 탁월한 선택이었네요 ㅎㅎ. 근데 아예 처음 개념 공부하시는 분들이라면 비추입니다.. 너무 추상적이라서 실제 코드 상으로 구현하기 어렵습니다. 다양한 예시 사례를 들면서 설명해주는 건 좋았지만.. 뒤로 갈수록 비슷한 내용만 반복되어 뒷 페이지는 대충 읽었네요. |
|
학교에서 소프트웨어 전공을 공부하며 코드를 작성할 때 항상 이게 제대로 작성된 코드인가 하는 생각을 계속해서 하고는 했습니다. 그러던 중 소프트웨어 설계에 대한 교과목을 수강하고 조금 더 깊게 공부해 보고 싶다는 생각을 하던 와중 개발자가 읽어보면 좋은 도서 리스트를 보고 구매하였습니다. 책을 읽고 왜 개발자 필독서인지, 인기가 많은 이유를 알게 되었습니다. 개발자이거나 개발자를 희망하는 사람들에게 꼭 한번은 읽어보라고 추천하고 싶은 그런 책인 것 같습니다. |
|
클린코드라는 유명한 저자의 책이라 뒤늦게 구입했습니다. 추천합니다. 하지만 프로그램을 제대로 만드는 일은 전혀 다르다. 소프트웨어를 올바르게 만드는 일은 어렵다. 소프트웨어를 제대로 만들려면 적정 수준의 지식과 기술을 겸비해야 하지만 대다수의 젊은 프로그래머는 이 수준에 도달하지 못했다. 또한 사고력과 통찰력을 갖춰야 하지만 대다수의 프로그래머는 시간을 들여 이러한 능력을 개발하지 않는다. 그리고 어느 정도의 훈련과 헌신이 필요하지만, 대다수의 프로그래머는 훈련과 헌신이 필요하리라는 생각 조차 하지 않는다. 소프트웨어를 올바르게 만들려면 무엇보다도 기술을 향한 열정과 전문가가 되려는 열망이 필수다. |
|
저자의 유명세와는 별개로 리뷰가 너무 칭찬일색인 책은 꼼꼼히 살펴보고 구매하는 편인데 이 책은 아직 절반도 못읽었지만 이미 너무 많은 도움이 되고 있어 서둘러 리뷰를 남깁니다. 학생이든 주니어 개발자든 개발경험이 부족한 분들은 모두 이 책을 읽기 바랍니다. 여태까지 읽어본 개발관련 서적중 최고의 책입니다(저자의 다른 유명한 책들은 아직 읽어보지 않았습니다). 이 책을 모르고 보낸 지난 세월이 아까워 통탄스러울 지경이지만 지금이라도 인연이 닿아 읽게 된 것에 감사하며 신나게 읽고 있습니다. 시간이 지나도 빛을 발할 소장가치가 있는 책이니 구매를 고민중이라면 하루라도 빨리 사서 읽는것이 이득인 책입니다. 당장 사서 읽으세요. 고민할 시간도 아깝습니다. |
|
2019년에 출간된 클린 아키텍처. 읽어야지.. 속으로 생각하기만 수십번... 작년은 무엇인가 정신없었고, 한참을 달리다 잠시 쉬는 해가 필요할 것 같아 기술서적을 잠시 내려놓았던 시기였다. 올해의 첫 시작으로 읽은 책이다. 로버트 C 마틴의 도서는 여러 책을 읽었고, 좋아하는 개발자이자 저자이다. 많은 사람들이 그의 이름을 듣고, 그의 책을 읽어보았을거라고 생각된다. 그 만큼 유명하고 많은 개발자들에게 큰 도움을 주는 개발자이다.
아키텍처에는 오래전부터 관심이 있었지만 주먹구구식 학습과 경험을 토대로 역량을 쌓아올려간 시간들이 많았다. 그러면서 다양한 사람들과 토론하면서 느낀 점은 아키텍처에 좋은 아키텍처를 있어도 정답은 없다는 것이다. 뭐 물론 시간대대로 정립되어오며 특정 요구사항이나 특정 기능을 수행하는 소프트웨어를 개발할 시 가장 좋은 아키텍처가 정답으로 여겨지기도 한다. 각 개발자마다 경험과 가진 지식을 토대로 본인만의 신념과 주관을 가지고 있다는 점이다. 나 또한 마찬가지였던 것 같다. 좋은 구조를 설계하는 과정에서 소프트웨어 요구사항을 분석하지만 분석한 내용을 토대로 가장 중요한 기능적, 비기능적 요구사항을 도출해내는 것은 개발자마다 모두 다르다.
이 책은 소프트웨어 아키텍처의 기본입문서다. 소프트웨어 아키텍처를 설계하기 위한 아키텍트가 되는 과정 중 위에서 설명한 개발자들 마다 각기 다른 주관에서 공통된 부분을 뽑아서 책으로 잘 정리해놓은거라 생각한다.
어떤 구조가 정답이다. 가장 좋다라고 논의하기는 어렵지만 아키텍트로서 시작을 하는 이에게 놓칠 수 있는 부분들을 잘 정리해놓았다. 특히 3부까지는 어느정도 경험이 있는 쥬니어 이상의 개발자라면 잘 알고 활용하는 설계원칙 SOLID 정도는 모두가 아는 내용일 수 있다. 하지만 내 경험 상 마이크로 모듈 이상의 컴포넌트로 확장된 내용을 설계가 필요한 상황에서는 허둥지둥하는 개발자들을 본 적이 많다. 특히 고려해야 할 사항들을 놓치거나 고려할 필요가 없는 상세내역에 대해 시간을 많이 소모하는 개발자들을 보았다. 그런 분들을 위해서 4부 컴포넌트 원칙부터는 꼼꼼히 읽고 개인의 생각을 정리하면 좋을 것 같고 추천한다.
나도 아키텍트로서 경험과 역량이 부족하고 지식이 하나로 정립되고 나 스스로의 신념과 주관이 명확히 확립되어 가는 시기에서 놓쳐버릴 수 있는 부분을 이 책을 읽고 다시 떠올릴 수 있었다.
|
|
이책이 나온지도 꽨 된책이다. 그럼에도 아직 볼만한 내용이다. UML이 많이 변화되는 것도 아니고, 사실 변화되면서 더 많아지고 쓸모없는 것들이 늘어나다 보니 더 어려워지기만 한다. 그래서 오랜된 이책이 더 UML을 배우는데 적합할지도 모르겠다. 많은 UML 다이어그램에서 꼭 필요한것만 배울 수 있을 것 같기에. 사실 여기에 나온 다이어그램만 알아도 UML을 사용하는데 그리 문제되지는 않을 터인다. 다만 오래되다보니 표기법이 조금 변경된 것도 있기는 하지만 저자의 말처럼 소통만 되면 되는 것이기에 그것도 많이 신경쓸 일은 아닐지도 모르겠다. |
|
개발서적들을 보면 가끔씩 다양한 다이어그램들을 사용한다. 클래스 다이어그램, 시퀀스 다이어그램, 유스케이스 등등. 그 때마다 어렴풋이는 무엇을 말하는지 알것 같지만, 정확하게 무엇을 뜻하는지 모르는 경우(화살표의 모양, 선이 점선인지, 숫자는 어떤뜻인지 등등)가 종종있었다. 그 때마다 대충 이해하고 넘어갔지만 좀 더 확실하게 이해하고 정리를 하고자 이 책을 읽었다. 목차
목차를 보면 모든 다이어그램들의 종류가 있지 않다. 왜냐하면 저자가 생각하기에 많이 쓰거나 꼭 알아야 하는 다이어그램만 정리를 했기 때문이다. 클래스, 시퀀스, 객체, 상태 다이어그램과 유스케이스 정도를 설명한다. 게다가 각 장의 다이어그램에서 조차 자세하게 다루지 않고 필요한 것만 다룬다. 책의 제목과 정말 일치한다. 사실 이정도만 이해해도 개발 서적들에 나오는 다이어그램들을 이해하기에 충분할 것 같다. 또 목차를 보면 다이어그램에 대한 것 말고도 다른 내용들이 다양한다. 6창 객체 지향 개발원칙에서는 SOLID 원칙을 설명한다. 7장에서는 반복적인 개발과 일정 산정 같은 부분들도 설명한다. 그 외에도 자바의 패키지, 저자의 실전 사례 연구 등을 통해 다양하게 설명한다.
좀 기대를 많이 하고 봐서 그런지 뒤로 갈수록 약간 집중력이 떨어졌다. 방대한 양의 옛날(?) 스타일의 실전 코드들이 나오기 때문이다. 이 책의 최초 발행일이 2004년인걸 감안하면 자바 1.4정도의 버전으로 설명한 것이 당연한 것이긴 하지만 좀... 어노테이션도 없을 시절이라 JUnit도 TestCase를 상속받아서 사용했다. dX와 부록의 RUP 그리고 XP들이 나올 때에는 "Software Engineering" 전공 수업의 기억이 어렴풋이 스쳐지나기도 했다. 그 때 좀 열심히 들었으면 더 잘 이해했을까?
|