2025-08-06 21:59:27
반응형

1. 코드 = 커뮤니케이션

설명을 통하지 않고 코드로만 대화해도 이해할 수 있어야함

 

커뮤니케이션 실패

cons d = " "; // 경과 시간

이런 코드를 만드는 사람이 하는 생각

- 난 잘 이해되는데?

- 어짜피 코드 위아래를 보면 어떤 의미인지 알 수 있지 않아?

But

- 다른 개발자들이 이 코드를 보면 무너지 이해가 될까?

- 시간이 지나고 직접 만든 당사자가 봐도 이해 못 할 수도


2-1. 의도를 명확히 밝혀라

변수 이름만 봐도 어떤 역할을 하는지 알 수 있어야 함

 

변수명은 구체적으로

Bad  →  작성자만 알 수 있는 약어로 쓰여져 있음

if (t === DaysType.Day) {
}
// t가 무슨 의미일까요?

const cbm = (d: Days[]) => d.map((dd: Days) => dd.month());
// cbm, d, dd 가 무슨 의미일까요?

const sd = data.get("someDateData");
// sd가 무슨 의미일까요?

 

Good  →  변수명을 구체적으로 바꿔줌으로써 다른 개발자들도 이해하기가 수월함

if (selectedDay === DaysType.Day) { }
// t => selectedDay (선택한 요일)

const getSelectedMonth = (selectedDays: Days[]) =>
selectedDays.map((item: Days) => item.month());

// cbm => getSelectedMonth (선택한 Month 를 조회하는 함수)
// d => selectedDays (선택된 요일들)
// dd => item (selectedDays 구성요소)

const selectedDate = data.get("someDateData");
// sd => selectedDate (선택된 날짜)

 

2-2. 주석은 해결책이 아니다

Bad  → 주석을 써서 부족한 설명을 보완한다?

const t = " ";  // 유저가 선택한 날짜

Bad  → 주석이 쓰여있는 범위를 벗어난다면?

/**
* 이
* 후
* 다
* 른
* 코
* 드
* 들
* 이
* 나
* 온
* 다
* 음
* 에
*/

if (t === DaysType.Day) {
}
// t가 무슨 의미인지 확인하려면 t가 선언된 부분의 주석을 확인해야한다

- if 문에서 t를 읽은 개발자는 t가 어떤 의미인지 알 수 있을까?

 

Good  →  의미있고 구체적인 변수명으로 변경해주면 주석이 필요가 없음

좋은 코드일수록 주석이 필요 없음
const selectedDate = " ";


/**
* 이
* 후
* 다
* 른
* 코
* 드
* 들
* 이
* 나
* 온
* 다
* 음
* 에
*/


if (selectedDay === DaysType.Day) {
} // t => selectedDay

 

2-3. 중언부언 하지마라

Bad  → 일반적인 단어들의 조합으로 변수가 어떤 역할을 하는지 알 수 없음

const stringArray = // 댓글 목록

Good  →  대상의 특징을 명확하게 드러낼 수 있는 용어를 사용해야 함

const replyComments =

 

정리


작성자만 알수있는 약자를 사용하지 말자
주석을 덧대서 설명하기보다 구체적인 변수명을 사용하자
역할을 설명할수 있는 명확한 단어를 쓰자

 

 

 

 

 

 

무료 강의 - 인프런 클린코드 찍먹

https://www.inflearn.com/course/%ED%81%B4%EB%A6%B0%EC%BD%94%EB%93%9C-%EC%B0%8D%EB%A8%B9?srsltid=AfmBOopso_XjA6zK1Xl0KnHriY1ENTVTDZc7SQiSQxxZz4ZM9UTggDi2

반응형

'Cloud Engineering Bootcamp > 99. CleanCode' 카테고리의 다른 글

[udemy] 클린 코드  (0) 2025.08.06