Search

01. 코드 정리법

목차

Previous

1. 보호 구문

제안

: 분기문 indent 축소
// Before Code 1 if (조건) { .. logic .. } // Before Code 2 if (조건) { if (다른 조건) { .. logic .. } } // After Code if (조건) return if (다른 조건) return .. logic ..
Java
복사

개선점

코드의 가독성이 높아진다.
로직의 세부사항을 보기 전에 미리 알아두셔야 할 전제 조건들에 대해 알려드립니다. 라고 안내해주는 것 같다.
전제조건이 명시적으로 드러날 때 분석하기가 쉬워진다.

주의점

남용할 경우 보호 구문이 너무 많아지면 오히려 가독성이 떨어질 수 있다.

2. 안 쓰는 코드

제안

사용하지 않는 코드는 지워라
한 번에 너무 많은 코드를 지우기보단 작은 범위에서 지우고 배포하고 확인하고를 반복하라.
그냥 줄 수를 줄이는 것 뿐 아니라 조건 내용, 루틴, 파일, 디렉토리를 제거하는 방식일수도 있다.

개선점

소스파일의 전체 길이가 줄어 들면 가독성이 높아지고, 사용되지 않는 코드에 신경쓰지 않아도 된다.

복구 방법

형상 관리 도구를 통해 복구할 수 있다.

3. 대칭으로 맞추기

제안

프로젝트에서 코드 작성 컨벤션의 일관성을 지키자.

개선점

같은 의미의 로직이 하나 이상의 패턴으로 섞여 작성된다면 익숙해지기 힘들다.
기존에 읽은 패턴과 다를 경우 다른 동작으로 착각하기 쉽다.
패턴을 일치시켜 코드를 읽기 쉽게 하면 핵심 로직에 더 빠르게 접근할 수 있다.

같은 기능 여러 스타일의 코드

// lazy initialization pattern 1 public Foo() { if(foo != null) { return foo; } foo = ... return foo; } // lazy initialization pattern 2 public Foo() { if (foo == null) { foo = ... } return foo; } // lazy initialization pattern 3 public Foo() { return foo != null ? foo : foo = ... }
Java
복사

13. 하나의 더미

파편화된 pure function들을 다시 하나로 모아 함수의 명확성을 높히고, 그 다음 다시 정리한다.
길고 반복되는 인자 목록
반복되는 코드, 그 중에서 반복되는 조건문
도우미에 대한 부적절한 이름