Bactoria 황준오

2019년 30주차 회고


오브젝트

아샬님이 주최하시는 한달에 한권씩 개발서적 읽는 모임이 있다. 7월의 책은 조영호님의 오브젝트 였다. 조영호님의 전작인 객체지향의 사실과 오해 책을 아주 감명깊게 읽었기 때문에 이번 모임에 신청했다.
유튜브로만 보던 개발자를 실제로 뵐 수 있어 설레면서도 한편으로는 너무 부끄러웠다. 모임까지 약 3주간의 시간이 있었으나, 총 15장 중에 2장까지 밖에 보지 못했기 때문이었다. 겨우 2장까지 읽고 모임에 참석해도 될까에 대한 죄책감이 들면서도, 안들키고 어떻게 잘 넘어갈수도 있지 않을까 하는 나쁜생각으로 모임에 참석했다.
모임의 진행 방식은 각자 책의 좋았던 점과 아쉬웠던 점 그리고 궁금한 점을 말하면 그 주제로 토론하는 식이다. 현업에서 일하시는 분들이 대부분이었고, 연차가 많으신 분들도 계셨다.
책을 읽으며 이해가 안되는 부분들을 약 2시간 동안 토론할 수 있는 자리였는데 나는 듣기만 하다가 왔다. 내가 할 수 있는건 추후에 책을 읽을 때 진입장벽이 낮아지기를 기대하며 듣는 것 밖에 없었다. 2시간 동안 많은 것들을 들을 수 들었지만, 한편으로는 많은 것들을 놓쳤을 것이라고 생각했다. 크게 성장할 수 있는 좋은 기회를 날렸다.

아래는 내가 말했던 궁금한 점과 답변들이다.

Q. 좋은코드는 잘 동작해야 하고, 유지보수성이 좋아야하고, 읽기 쉬워야 한다는 것에 동의한다. 유지보수성을 높이면 가독성도 높아질 것 같았는데 책에 보니 유지보수성이 높아지면 가독성이 낮아진다고 한다. 흠.. 혹시 내가 생각하는 가독성과 책에서의 가독성이 다른 것인가..

A1. 유연한설계는 유연성이 필요할때만 옳다. (p305)
유연한 것은 좋지만, 불필요한 유연성은 불필요한 복잡성을 낳는다. 여기서의 복잡성이 가독성을 해칠 수가 있다. 유연성은 코드 읽는 사람이 복잡함을 수용할 수 있을 때만 가치가 있다. 책에 나오는 Movie 예제에서도, 각자 팀에 따라서는 할인 정책이 한 개만 있을 수도 있다. 이 경우에는 할인정책은 없어도 되는거거든. Movie 해놓고 그 영화만 SpecialMovie 할 수도 있는 거임. 누가 봐도 명확함. 이건 유지보수성은 나쁘지만 가독성은 좋음. 반면에, 여러개 될 것 같은데 하면서 처음부터 만들기 시작하면 내가 알아야 하는게 점점 늘어난다. 뭔가 일어날지 모르니까 해놓았어? 이건 코드의 가독성을 떨어트림.
이거 트레이드오프다. 팀에 따라 적절한 설계를 계속 찾아야함. 켄트벡은 XP에서 YAGNI(You aren’t gonna need it) 라고 했다. 너 아직 그거 안필요할걸? 미래를 위해서 열어놓긴 해도 과도하게 설계하지는 마라. 이런걸 많이 하느니 오히려 리팩토링해도 안전하도록 테스트 코드나 많이 만들자~

A2. 디자인패턴을 생각해보면… 디자인패턴은 유연한 설계의 결과물이다. 하지만 디자인패턴을 깨우쳤을 때 흔히 하는 실수가 디자인패턴을 모든곳에 적용하려고 한다는 것이다. 이것이 안좋은 이유는 코드를 이해하기가 매우 힘들어진다. 함축적이고 동적이기 때문이다.

가독성이란 것을 명명법이나 한가지 일만하는 메서드로 만드는 것 정도로 생각했지, 유연함을 추구하는 설계의 복잡성으로 인한 가독성 저하는 미처 생각하지 못했다.

내가 너무 기초적인 것들을 질문한 것 같으면서도 친절하게 답변해주신 분들께 너무 감사하다. 그렇다고 부끄러워서 감사하단 말 한마디도 못했다.

   

싸피 친구들

싸피를 하면서 이전 조원들이랑 치맥을 했다. 싸피하기 전에는 이런 친목질을 절대 안하고 싶었는데, 막상 애들을 만나보니까 뭐든 같이 하고싶다는 생각이 들더라. 다들 성격이 너무 좋다. 이전 조원들이 나에겐 너무 과분하고 좋은 사람들로만 구성되어 있어서 너무 감사했고, 이번에 함께 술먹으면서도 다시 한번 느꼈다.

나처럼 취업에는 별 관심없고 개인 공부하러 온사람이 생각보다 많은 것 같다. 할말하않

   

이번주에 구매한 책

image

DDD Start!

주말에 아는 형이랑 도메인주도설계 스터디를 하려고 구매했다. 설계에 대한 공부를 해볼까 해서. (주말에 혼자 카페에서 있는것도 너무 고독이다)

인터넷으로 교보문고에서 책을 사려고 했는데 품절이었다. 광화문쪽에 1권이 남아있었는데, 광화문 근처에서 일하는 형이 점심시간에 구매해줘서 살 수 있었다.

 

image

UML 실전에서는 이것만 쓴다

이번 오브젝트 책에서도 나오고, 모임에서도 다이어그램에 대해서 이야기가 많이 나왔다.

다이어그램은 수업 시간에 엄청 대충 들었던건데, 오브젝트 모임에서 나빼고 다 알고있는 그런 느낌을 받았다. 설계할 때에도 무조건 알고 있어야 할 같아서 구매했다.

 

image

읽기 좋은 코드가 좋은 코드다

이 책이 맞는지는 정확히 기억은 안나지만, 다음 모임에 선정된 책인 것 같다. 이번 모임에서 내가 너무 부족하다고 느꼈지만, 그래도 책을 읽기 위한 동기 부여는 확실하기에 구매했다. 일단 사놓고 다 읽으면 모임에 신청하고, 다 못읽으면 신청안하는 걸로..


황준오 (Bactoria) 황준오 (Bactoria)

.

Comments

Content