본문 바로가기

Memo

깨끗한 코드를 위한 5가지 팁

youtu.be/Jz8Sx1XYb04

 

좋은 코드란 무엇일까? 코드 그 자체로 설명이 다 되는 코드 <thePerfectCode>

팀으로 일한다면, 좋은 코드는 팀원들이 딱 읽었을 때 읽기만 해도 무엇인지 이해가 되고 코드가 무엇을 하는 지 물어볼 필요도 없는 이상적인 코드의 모습이다. 또한 혼자 일할 때에도 3개월 6개월 9개월 후에도 부연설명없이 이해가 되는 코드이다.

 

1. 검색 가능한 이름을 사용하기.

하루가 총 몇 초인지를 요구하는 함수가 있다면 ?

안좋은 예시 -> setInterval(eatKimchi, 86400) 

해당 숫자를 변수(variable)로 해두는 것이 좋다.

좋은 예시 -> const SECONDS_IN_A_DAY = 86400;

                  setInterval(eatKimchi, SECONDS_IN_A_DAY)

다른 팀원들이 이해할 수 있는 코드.

 

2. 함수명은 반드시 동사로 and 함수는 동작 하나만.

안좋은 예시 -> function userData(){ ... }

                     const data = userData();

좋은 예시 -> function loadUserData(){ ... }

                   const userData = loadUserData();

이렇게 이름을 짓다보면, 함수가 너무 많은 역할을 하는 것은 아닌지 알게된다.

왜냐면 함수는 딱 한개만 잘해야하기 때문이다.

동사로 짓다보면 구분의 필요성을 느끼게 된다.

유저 데이터를 불러오는 함수는 정말 불러오는 역할만 해야한다.

 

3. 함수의 인수는 3개 이하가 적당하고 많은 경우 Object로 정리해서 param 사용.

 

4. 함수의 파라미터에 boolean을 둔다면 액션 2개 이상을 구현하기 보다는 함수를 2개로 구분하는 것이 좋다.

-> 함수는 단 한개의 액션만 해야한다.

 

5. 변수명은 너무 축약하지 말아야 한다. 누구든 이해할 수 있는 변수명으로 사용하는 것이 좋다.

(-> 여기서 TMI, C언어 가르쳐주던 교수님 중에서 함수명을 ff, pp 이런 식으로 작성하라고 알려주셨던 분이 계셨는데, 그 분은 왜 이렇게 변수명을 하는지 너무 궁금하다. 그래서 학생들에게도 그렇게 작성하라고 말씀하셨는데, 그냥 무시하고 나는 이해하기 쉬운 변수명을 사용했다. )

 

추가적인 tip. 문제를 해결하려고 할 때 코딩은 우선 동작에 초점을 맞춰서 무작정 작업하고 동작한다면 후에 깔끔하게 코딩을 정리하는 것을 추천한다.

 

소프트웨어공학 수업을 들을 때 코드가 깨끗하지 못하면 유지보수가 어려워지며

더티코드 즉, 스파게티 코드라고도 불린다고 했다.