> For the complete documentation index, see [llms.txt](https://ckaanf.gitbook.io/ckaanf-docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://ckaanf.gitbook.io/ckaanf-docs/for-junior/way-of-thinking/readable-code/refactoring.md).

# 꾸준한 관리와 다듬기

코드를 다듬과 꾸준히 가꿔나가는 내용에 대해 작성합니다

### 주석의 양면성

주석이 많다는 것은, 그 만큼 **비즈니스 요구사항을 코드에 원하는 만큼 녹이지 못했을 때** 였습니다.

코드를 설명하는 주석을 쓰고 그렇다보니 보는 사람들도 코드가 아니라 주석에 의존하게 됐습니다.

이 부분을 저는 이렇게 정리했습니다.

* 전해야 할 "의사 결정의 히스토리"를 남기자
  * 코드의 의미 파악이 안될 때 히스토리를 모르면 너무 힘들었습니다.
* 자주 변하는 정보는 최대한 지양한다.
  * 코드가 바뀌거나 정보가 바뀌면 주석도 맞춰서 바꿔줘야합니다. 이 두개의 싱크가 맞지 않는다면 오히려 혼란을 줍니다.
* 주석보다는 최대한 코드로 표현해보자. 코드로 표현이 안된다면 충분히 잘게 쪼개거나 추상화하지 못했는 지 생각해보자

### 변수와 메서드의 나열 순서

[논리, 사고의 흐름](/ckaanf-docs/for-junior/way-of-thinking/readable-code/logical-stream.md#undefined-1) 말씀 드린대로
