티스토리 뷰

 

https://www.inflearn.com/course/%EC%9D%B8%ED%94%84%EB%9F%B0-simple-design-25

 

[지금 무료][인프런] Simple Design 개론 - 코드 품질에 대하여| 영록 - 인프런 강의

현재 평점 4.9점 수강생 762명인 강의를 만나보세요. 좋은 코드의 기준이 주관적일 수 밖에 없는지, 좀더 객관적으로 판단하기 위해 어떤 고민이 필요한지 다 같이 생각해봅시다. 좋은 코드를 위

www.inflearn.com

 

개요

좋은 코드의 기준이 너무 주관적이다라는 생각을 오랫동안 하고 있었다.

 

사람마다 실력과 본인이 주로 사용하는 언어에 따라 좋은 코드의 기준이 다를 수 밖에 없어서 정의를 내리기 어려웠다.

 

그래서 내가 생각한 기본적인 시나리오는 최대한 중복을 줄이자였다. 그런데 중복을 줄이면서 어려워지는 내용들이 몇 가지 있었다.

 

1. 중복을 어디까지 줄이기 위해 범용적으로 짜야할까?

2. 어디까지 추상화를 해야할까?

3. 추상화된 코드를 다른 개발자들이 이해할 수 있는가?

 

라는 생각이 맴돌아 결국 중복을 줄이는게 맞는가? 까지 돌고도는 생각의 굴레에 사로잡혀있었다. 이런 생각의 고리를 어느정도 풀어줬던게 이 강의였다.

 

짧은 시간의 강의였지만, 내가 가장 인상 깊게 들었던 내용을 정리해보자면 다음과 같다.

 

1. 가독성에 대한 내용

2. 좋은 코드를 짜기 위해 주니어/시니어에게 주어져야하는 것들이 다르다

3. 좋은 코드를 짜는 것을 방해하는 요소들과 이를 해결하는 법

4. 자동화와 단순화

 

이런 요소들을 레퍼런스를 예를들어 하나씩 설명해주는게 마음에 들었다.  정리해보자.

 

1. 가독성

가독성이야 말로 가장 주관적인 요소가 아닐까 싶다. 클린 코드(책 아님)란 것을 알게된 이후 가장 중요하다고 생각하는 것이 가독성이었다.

 

그런데, 코드를 많이 보면서 느꼈던 건 가독성이란게 혹시 그냥 내가 보기 좋은 코드를 말하는게 아닐까? 라는 생각을 하게 됐다.

 

딱 이 상황이 아닐까

 

오픈소스에서도 코드 컨벤션을 맞추는 것도 중요하지만 메인테이너의 마음에도 들어야한다.. 그럼 회사에서는? 당연히 상사의 마음에 들어야한다. 그런데 상사가 한명도 아니고 코드 리뷰어도 한명이 아니다. 

 

그래서 어느정도 객관적인 기준이 필요하다는데 크게 공감했다. 이 강의에서 정리해준 것은 내용은 다음과 같다.

- 중복과 구성요소가 최소화된 코드

 

2. 좋은 코드를 짜기 위해 초보자/전문가에게 주어져야하는 것

이 내용도 굉장히 인상적이었다. 좋은 코드를 짜기 위한 보편적인 기준이 있다고 생각했던게 잘못됐던 것 같다.

 

초보자와 전문가로 표현했지만 주니어에겐 조금 더 규칙을 강조하고

 

시니어에겐 직관이 앞서는 개발을 할 수 있는 환경을 만들어주는게 좋을 것 같다는 드라이퍼스 모델이 굉장히 인상적이었다.

 

내가 전문가(시니어)라면 중복을 허용해가면서, 효율을 높일 수도 있다.

 

3. 좋은 코드를 짜는 것을 방해하는 요소들과 이를 해결하는 법

1. 처음부터 제대로해야한다. 그러나 처음부터 완벽하게 설계할 수는 없다.

2. 고객이 자신이 원하는게 뭔지 잘 모른다. 그러나 시간이 지날수록 명확히 알게되고 고객의 수준도 올라간다.

3. 직접써보기전에는 잘 모른다

4. 기술적인 위험성을 모두 고려하긴 힘들다

 

4. 자동화와 단순화

단순화하지 않고 자동화를 해버리면, 자동화된 코드를 그 누구도 손대기 어려운 상황이 된다. 자동화를 하기전에 반드시 단순화를 해라. ex) 도커 파일

 

그리고 1년에 한두번 있는 번거로움을 위해 자동화를 하지마라 ex) 개인 개발 작업 환경

 

이쪽 방면의 대가인 켄트 벡과 마틴파울러가 말하는 테스트를 무조건 통과해야하고 의도를 알 수 있게끔 짜야한다는 건 어느정도 기본 베이스로 깔고 가는 내용이다. 이 외에도 일관성(지켜지지 않아도될 일관성도 있다)에 대한 내용도 인상 깊었다.

마치며

https://www.inflearn.com/course/offline/%EC%9D%B8%ED%94%84%EB%9F%B0-simple-design-%EB%B0%8B%EC%97%85

 

[인프런] Simple Design: 25년차 개발자가 전하는 깔끔한 코드의 본질 | 영록 - 인프런

영록 | , 🔥 선발 정원 30명 👉🏻 80명으로 늘렸어요! 많은 관심 부탁드립니다 🔥 엔씨·카카오·네이버 출신, 다양한 기술과 도메인을 아우르는 코드 품질의 장인 ✨25년차 개발자 박영록 님의

www.inflearn.com

올 4월에 지원은했지만 4월 일본 IT week 준비때문에 못 갔었던 강의를 무료로 올려주셨다.

 

가서 들었으면 3~4개월간 생각만하고 있었던 걸 정리해뒀을 것 같아 많이 아쉽다.

 

무엇보다 이 강의에서 무엇보다 공감 가는 내용 중 하나는 다음과 같다.

 

 

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/09   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
글 보관함