Community

개발자 99% 커뮤니티에서 수다 떨어요!

← Go back
[클린 코드] TIL 5장. 형식 맞추기
#clean_code
2개월 전
199

오늘 TIL 3줄 요약

  • 첫 문단으로 전체를 요약하는 신문 기사처럼 소스 파일을 설계하라.

  • 개행, 밀집도, 개념적 유사성, 계층화 등과 같은 기준으로 코드를 형식화하라.

  • 자신이 선호하는 스타일보다 팀이 합의한 규칙을 따라라.

TIL (Today I Learned)

2024. 06.29

오늘 읽은 범위 - 5장. 형식 맞추기

책에서 기억하고 싶은 내용을 써보세요.

‘돌아가는 코드’ 보다 중요한 건 유지보수 용이성과 확장성이 보장된 형식에 맞추어진 코드.

  1. 적절한 행 길이를 유지하라 

500줄이 넘지 않는, 200줄의 코드로도 충분히 거대한 프로그램을 만들 수 있다.

일반적으로 큰 파일보다 작은 파일이 이해하기 쉽다.

  1. 신문 기사처럼 작성하라.

첫 문단으로 글 전체를 요약하는 신문 기사처럼, 소스 파일도 비슷하게 설계해라.

소스 파일의 첫 부분은 고차원 개념과 알고리즘을 설명하고, 아래로 갈 수록 의도를 세세하게 묘사한다. 마지막에는 가장 저차원의 함수와 세부 내역을 보여줘라.

  1. 개념은 빈 행으로 분리하라.

일련의 행 묶음은 완결된 하나의 생각을 표현한다.

생각 사이에는 반드시 빈 행을 넣어 구분해야 마땅하다.

  1. 세로 밀집도

줄바꿈이 개념을 분리한다면, 세로 밀집도는 연관성을 의미한다.

즉, 서로 밀접한 코드 행은 세로로 가까이 놓아야 한다.

  1. 변수 선언

변수는 사용하는 위치에 최대한 가까이 선언한다.

우리가 만드는 함수는 매우 짧으므로 지역 변수는 각 함수 맨 처음에 선언한다.

  1. 종속 함수

한 함수가 다른 함수를 호출한다면 두 함수는 세로로 가까이 배치한다.

또한 가능하다면 호출하는 함수를 호출되는 함수보다 먼저 배치한다.

그러면 함수간의 종속관계를 시각적으로 표현할 수 있다.

  1. 개념적 유사성

친화도가 놓은 코드는 가까이 배치한다.

친화도란 한 함수가 다른 함수를 호출한다거나, 변수와 그 변수를 사용하는 함수사이의 관계라던가, 비슷한 동작을 수행하는 함수들의 관계등을 말한다.

  1. 들여쓰기

들여쓰기를 통해 범위로 이루어진 계층을 표현할 수 있다.

  1. 팀 규칙

프로그래머라면 각자 선호하는 규칙이 있겠지만, 팀에 속한다면 자신이 선호해야 할 규칙은 바로 팀 규칙이다.

팀은 한 가지 규칙에 합의해야 하고, 모든 팀원은 그 규칙을 따라야 한다.

그래야 소프트웨어가 일관적인 스타일을 보인다.

  • 핵심 요약

형식 맞추기를 통해 일관성을 가진 코드는 유지보수 용이성과 확장성을 보장한다. 이는 코드로 공유하는 개발자간의 원활한 소통을 가능케 한다.

  • 오늘 읽은 소감은? 떠오르는 생각을 가볍게 적어보세요

형식에 맞추어 코드를 짜는 요령을 습득하는것은 중요하다. 하지만, 저자가 이야기하는 여러 방법론은 이미 코드 에디터나 버전 관리 프로그램을 통해 많은 부분 자동화되고 있는것 같다.

때문에 코드 형식을 맞추는 하드 스킬도 중요하겠지만, 더욱 강조되어야 할 부분은 팀원들과의 소통이나 협업과 관련된 소프트 스킬이 아닐까 한다. 명확한 근거에 기준한 유지보수와 확장성을 보장하는 공동의 코드 작성 규칙을 정하고, 그 규칙이 올바로 작용하는지 끊임없이 검토하고 개선시켜나가는 능력이 그것이다.

  • 오늘의 슬랙 인증