TIL 2 | 좋은 코드란?

Seon Kang choi·2021년 9월 21일
0


좋은 코드란 무엇인가? 좋은 코드는 명확한 정의를 내릴 수 있는 것이 아닌다. 개발자 개인들 마다 기준이 조금씩 다르고 각각의 경험이 다르기 때문에 정의들도 다양한다.
읽기 쉬운 코드가 좋은 코드인가? 중복이 없는 코드가 좋은 코드인가? 테스트가 용이한 코드가 좋은 코드인가? 등등 많은 기준들이 있을 것이다.
나는 좋은 코드를 만드는 것에 있어 '좋지 않은 코드 줄이기'에 접근해야 한다고 생각한다.

  • 중복 코드 줄이기
    '좋지 않은 코드 줄이기' 중 중복 코드 줄이기 이다. A, B 코드에서 동일한 로직이 있다. 우리는 추출하여 중복 코드를 처리하였다. 시간이 지나 요구사항이 바뀌었고, A의 코드의 방향이 바뀌었다. 중복이었던 코드 중 일부가 필요해 다시 합치거나 수정하고 있다. 이것들을 반영하는데 많은 비용이 들어가고 있다.
    추상화를 이용한 중복 코드 줄이기를 하여 위 문제를 해결 할 수 있다. 어떠한 요구사항의 변경이 와도 필요한 부분의 함수만 다른 함수로 수정을 하면 최소한의 수정으로 요구사항을 충족시킬 수 있다.

  • 삭제하기 어려운 코드
    코딩을 하다보면 정말 섣불리 삭제하기 어려운 코드를 만날 수 있다. 복잡한 요구사항으로 인한 복잡한 코드, 어쩔 수 없이 작성한 하드코딩 등이 그렇다.
    이럴 경우 주석과 함께 격리시켜 관리를 하는게 좋은 방법이 될 수 있다.

  • 합의된 규칙으로 일관된 작성
    합의된 규칙은 최소한의 가독성을 보장한다. 그리고 예측이 가능하다. 예측이 가능하다는 것은 어느 곳에 어떤 코드가 위치하는지 예상할 수 있다는 것이다. 합의된 규칙은 회사마다 프로젝트마다 다양하다. 대표적인 규칙은 naming과 디렉토리 구조 이다.

지금까지 좋은 코드를 만들기 위한 '좋지 않은 코드줄이기'를 알아보았다. 위 경우보다 많은 방법들이 있을 것이다. 좋지 않은 코드를 하나씩 줄여 나가다 보면 좋은 코드로 조금씩 갈 것이다. 그리고 내가 만든 좋지 않은 코드를 보면서 자책하지 말자. 과거 그때의 나는 최선을 다해 내 지식을 동원 하여 만든 코드 일 것이다. 지금 코드를 보며 나쁜 코드를 좋은 코드로 수정 할 수 있다는 것에 나의 발전에 긍정적으로 생각하고, 하나씩 알아가는 과정을 즐기며 공부하면 좋은 개발자가 될 것이라 생각한다.

profile
유쾌한 개발 생활~

0개의 댓글