brunch

You can make anything
by writing

C.S.Lewis

by Master Seo Jun 10. 2024

(책) 읽기 쉽고 코드 리뷰하기 좋은 코드 작성 가이드

2024년

현직 LINE 개발자가 알려주는 코드 작성 가이드

대규모 개발 프로젝트에서 겪은 저자의 경험을 정리한 책.

기본적으로 코틀린의 용어를 사용한다.

다른 프로그래밍 언어에도 응용할 수 있도록 정리된 책.


길벗에서 책을  제공받아 작성된 서평입니다.




<1> 가독성 높은 코드 작성하는 법을 알려준다.= 생산성 향상

<2> 가독성 높은 코드를 작성하기 위한 요건을 알려준다.

<3> 대표적인 프로그래밍 원칙을 알려준다.

<4> 네이밍법,  주석 작성법, 상태, 함수, 의존관계, 코드리뷰에 대해 알려준다.

<5> 개인 정리






<1> 가독성 높은 코드 작성하는 법을 알려준다.= 생산성 향상



1

개발 규모와 생산성의 관계


개발 기간의 장기화, 개발 멤버의 추가, 코드베이스의 거대화등 요인으로 개발 규모는 커지고 , 코드를 읽기 위한 비용도 늘어난다.

개발자가 합류하면 그 사람이 코드베이스를 전체 이해하는 데도 시간이 꽤 걸린다.

작업 시간을 줄이려면 가독성이 높아야 한다.



2

버그 발생 시 코드 수정필요시도 마찬가지이다.

코드의 가독성이 높으면 수정했을 때 영향 범위를 쉽게 확인하고 안전하게 수정가능.

가독성이 낮으면 영향 범위 확인하는데도 시간이 많이 걸린다.

장애도 난다.



3

코드 읽는 시간 이란?

다른 개발자에게 코드를 설명.

코드를 작성하는 중 다른 코드를 참고.

코드 리뷰.




<2> 가독성 높은 코드를 작성하기 위한 요건을 알려준다.



가독성과 관련된 지표


단순한 코드

의도가 명확한 코드

독립성이 높은 코드

구조화된 코드




<3> 대표적인 프로그래밍 원칙을 알려준다.


1

보이스카우트 원칙

코드를 변경할 때는 주변을 둘러보고 소소한 개선이 필요한 부분을 함께 살펴보아야 한다는 원칙

캠프장을 사용한 후에는 사용하기 전보다 더 깨끗이 청소하고 떠나라는 규칙!


추가: 누락된 주석이나 테스트 추가하기

삭제 : 불필요한 의존 관계, 구성요소, 조건문 삭제하기

리네이밍: 클래스, 함수, 변수등의 이름을 적절하게 바꾸기

세분화: 너무 큰 클래스나 함수, 지나치게 깊은 계층 구조

구조화 : 의존 관계, 추상화 레이어, 상속의 계층 구조를 적절히 구성하기



2

YAGNI

그런 건 필요치 않아



3

KISS

바보스러울 정도로 단순하게 만들어라.



4

단일 책임의 원칙

클래스 하나에 부여하는 책임과 역할은 오직 하나뿐이어야 한다.



5

섣부른 최적화는 만악의 근원




<4> 네이밍법,  주석 작성법, 상태, 함수, 의존관계, 코드리뷰에 대해 알려준다.


1

네이밍법?


코드의 가독성을 높이려면 코드 네이밍은 정확하고 설명적이어야 한다.

정확 = 명명된 이름과 실제로 사용되는 의미가 일치.

설명적 = 이름만 보고도 그것이 무엇인지 알 수 있는 것.



2

주석?

코드를 좀 더 빠르게 이해하기 위해 사용한다.

실수를 방지하기 위해 사용한다.

리팩터링을 쉽게 하기 위해 사용한다.





<5> 개인 정리


현직 개발자의 진솔한 팁이 모두 정리되어 있다.

단순 개발이 아닌  잘하는 개발 습관을 만들어 줄 수 있는 책이다.

어디에서도 안 나와 있는 실무 코딩 노하우가 있다.

개발을 시작하기 전에 이 내용을 숙지하고 개발하면, 생산성 높은 개발자가 될 수 있을 거 같다.




같이 보면 좋을 책

https://brunch.co.kr/@topasvga/3415


감사합니다.

매거진의 이전글 (책) 생성형 AI로 웹툰 만화 제작하기-2024
작품 선택
키워드 선택 0 / 3 0
댓글여부
afliean
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari