IT 관련 책 정리 및 후기/Clean Code

[Clean Code] 5장. 형식 맞추기

JUN0126 2022. 8. 28. 13:16

코드의 형식은 의사소통의 일환이다. 오늘 구현한 코드는 다음날 바뀔 확률이 매우 높다 그러하여 형식을 잘 맞춰 놓은 코드는 가독성이 좋아 유지보수 용이성과 확장성에 계속하여 영향을 미치게 된다.

 

형식을 맞추는 방법

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

통계에 따르면 대부분 500줄을 넘지 않으며 200줄 정도로 파일을 유지하는 시스템이 시스템을 더 이해하기 쉬웠다고 한다

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

신문기사처럼 이름은 간단하면서도 설명이 가능하게 짓도록 하고 상단에서 고차원 개념을 설명하고 아래로 내려갈 수록 의도록 세세하게 묘사하며 마지막에는 가장 낮은 차원의 함수와 세부내역을 나타내는것이 바람직 하다

무작위적인 순서보다 형식에 맞춘 순서에 따라 코드를 작성하라

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

생각 사이는 빈 행을 넣어 분리하여 새로운 개념이 시작한다는 시각적 단서를 나타내도록 해야한다

4. 세로 밀집도

밀접한 코드 행은 세로로 가까이 놓여야 한다. EX) 이유없는 인스턴스 변수 떨어트리기

5. 수직 거리

밀접한 두 개념은 세로 거리로 연관성을 표현해야 한다.

변수 선언과 같은 경우에는 변수를 사용하는 위치에 최대한 가까이 선언한다

인스턴스 변수는 클래스 맨 처음에 선언하며, 변수 간에 세로로 거리를 두지 않는다.?

종속함수는 한 함수가 다른 함수를 호출 한다면 두 함수는 세로로 가까이 배치한다 또한 가능하다면 호출하는 함수를 호출 되는 함수보다 먼저 배치한다.

EX) 외부에서 사용할 수 있는 public 메소드 안에서 해당 클래스 내에서 사용 가능한 private 함수를 세로로 가까이 배치하며 public 수직 아래에 private 메소드를 선언하여 배치한다.

6. 개념적 유사성

명명하는 방법이 똑같고 기본 긴으이 유사하다면 근처에다가 코드를 배치하는 것이 바람직 하다

 

가로형식 맞추기

통계적으로 봤을떄는 20~60자 이내로 사용하는 구간이 많으나 프로그래머는 최대한 짧은 행을 선호해야 한다. 책에서는 120자 이하 선호

 

1. 가로 공백과 밀집도

연산자를 사용하거나 여러개의 파라미터를 사용할 떄 공백을 이용하여 각 기능을 잘 구분하여야 한다

2. 가로 정렬

처음과 끝의 길이를 맞추려 억지로 공백을 넣어 맞추는 것보다 한칸 내려 칸마다 선언해주는것이 더 좋다 하지만 엄청 많은 변수들을 칸마다 내려가면 세로로 길이도 길어질 뿐만 더러 많은 기능이 들어가 있다는 의미이므로 클래스나 메서드를 분리하여 사용하는 것이 바람직하다.

3. 들여쓰기

당연한 이야기 일 수도 있지만 클래스, 메소드, 반복문, 제어문 등 블록을 사용하는 문장들에 있어서 공백 및 들여쓰기는 설정하는 것이 바람직하다.

if나 throw 처럼 들여쓰기를 하지 않고 한 줄에 쓸 수 있지만 책에서는 지양하고 있으나 필자는 간단한 값을 리턴하는 if문 같은 경우는 한 줄로 써도 괜찮다. 프로그래머라면 이해하거라 생각하기에..

4. 가짜 범위

때때로 빈 while 문이나 for문을 접하게 될 떄 빈 블록을 올바로 들여쓰고 괄호로 감싸어 코드를 관리하는 것이 용이하다.

 

 

위에 같은 형식들 이외에도 따로 팀에서 정한 팀 규칙 같은 형식들도 있다면 위에 적시해놓은 형식들을 포함하여 같이 코드를 구성하는 것이 좋다 개발은 같이 하여 이루어 지기 떄문이다.

 

결론

좋은 소프트 웨어 시스템은 읽기 쉬운 문서로 이루어 진다는 사실을 기억하며, 스타일은 일관적이고 매끄러워야 하며 한 소스 파일에서 봤던 형식이 다른 소스파일에서도 사용하여 다른 사람들이 읽고 신뢰감을 얻을 수 있도록 코드를 작성하는 것이 바람직 하다

 

 

 

해당 내용은 Clean Code를 읽고 정리한 내용입니다.

주관적인 생각과 내용을 같이 적시하였으니 적확한 정보는 해당 책을 통하여 같이 확인 해주시길 바랍니다.

http://www.kyobobook.co.kr/product/detailViewKor.laf?mallGb=KOR&ejkGb=KOR&barcode=9788966260959

 

Clean Code(클린 코드) - 교보문고

애자일 소프트웨어 장인 정신 | 나쁜 코드도 돌아는 간다. 하지만 코드가 깨끗하지 못하면 개발 조직은 기어간다. 매년 지저분한 코드로 수많은 시간과 상당한 자원이 낭비된다. 그래야 할 이유

www.kyobobook.co.kr