5. 형식 맞추기

· ☕ 3 min read · 👀5 views

5. 형식 맞추기🔗

형식을 맞추는 목적🔗

오늘 구현한 기능이 다음 버전에서 바뀔 확률은 매우 높다.

그리고 오늘 구현한 코드의 가독성은 앞으로 바뀔 코드의 품질에 지대한 영향을 미친다.

오랜 시간이 지나 원본을 찾기 힘들정도로 코드가 변해도 맨 처음 잡아놓은 구현 스타일과 가독성 수준은 계속 영향을 미친다.

적절한 행 길이를 유지하라🔗

200줄 정도인 파일로도 커다란 시스템을 구축할 수 있다. (그만큼 모듈화가 되어있다는 뜻)

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

신문 기사처럼 작성하라🔗

최상단에 기사를 몇 마디로 요약하는 표제가 나온다.

독자는 표제를 보고서 기사를 읽을지 말지 결정한다.

첫 문단은 전체 기사 내용을 요약한다. 세세한 사실은 숨기고 커다란 그림을 보여준다.

쭉 읽으며 내려가면 세세한 사실이 조금씩 드러난다. 날짜, 이름, 발언, 주장, 기타 세부 사항이 나온다.

개념은 빈 행으로 분리하라🔗

빈 행은 새로운 개념을 시작한다는 시각적 단서다.

코드를 읽어 내려가다 보면 빈 행 바로 다음 줄에 눈길이 멈추게 된다.

수직 거리🔗

서로 밀접한 개념은 세로로 가까이 둬야 한다.

물론 두 개념이 서로 다른 파일에 속한다면 규칙이 통하지 않는다.

하지만 타당한 근거가 없다면 서로 밀접한 개념은 한 파일에 속해야 마땅하다.

연관성이 깊은 두 개념이 멀리 떨어져 있으면 코드를 읽는 사람이 소스 파일과 클래스를 여기저기 뒤지게 된다.

  • 변수 선언 : 변수는 사용하는 위치에 최대한 가까이 선언
  • 인스턴스 변수 : 클래스 맨 처음에 선언 (이유인 즉, 잘 설계한 클래스는 많은 클래스 매서드가 인스턴스 변수를 사용하기 떄문)
  • 종속 함수 : 한 함수가 다른 함수를 호출한다면 두 함수는 세로로 가까이 배치한다. 또한, 가능하다면 호출하는 함수를 호출되는 함수보다 먼저 배치한다.

가로 형식 맞추기🔗

통계적으로 봤을 때, 20 ~ 60자의 행이 총 행 수의 40%, 10자 미만은 30% 정도이다.

가로 공백과 밀집도🔗

가로로는 공백을 사용해 밀접한 개념과 느슨한 개념을 표현한다.

들여쓰기🔗

들여쓰기 한 파일은 구조가 한 눈에 들어온다.

반면에 들여쓰기를 하지 않은 코드는 열심히 분석하지 않는 한 거의 불가능하다.

사견을 덧붙이면…?🔗

책으로 보면 이번 챕터는 코드가 많고, 짧은 느낌이 있다.

하지만 내용면에서는 충분하다.

한 마디로 말하자면 가독성 이 하나로 충분하지 않을까

그러고보면 이 형식맞추기라는 측면은 학부생때부터 계속 고민해온 사항이기도 하다.

예전에 국비 교육을 들었을 때, 반복문과 지역 변수들 사이의 개행에 관해 어떤 게 보기 좋을지 강사님한테 물었던 기억이 있다.

당시 강사님이 했던 말씀이 “보통 그런 경우는 의미 단위로 개행을 한다.” 라고 비스무리 하게 말하셨던 거 같고, 덧붙여

경험이 쌓이면, 좀 더 쉽게 개행할 수 있을 거라고 하셨던 거 같은데.. (큰일이다 2년 정도밖에 안 지났는데도 기억이 잘 안나는거보니)

Share on

snack
WRITTEN BY
snack
Web Programmer


What's on this Page