inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

인프런 워밍업 클럽 스터디 4기 - Clean Code & Test <1주차 발자국>

kdm
1

1주차에서 인상깊었던 부분을 따로 정리하였습니다.

 

이름 짓기

이름을 짓는다는 행위는 추상적 사고를 기반으로 한다.

 

  1. 단수와 복수를 구분하기

    끝에 (e)s를 붙여 어떤 데이터가 단수 인지 복수 인지 나타내는 것만으로도 읽는 이에게 중요한 정보를 제공할 수 있다.

  2. 이름 줄이지 않기

    줄임말은 잃는 것에 비해 얻는 것이 적다.

    자제하는 것이 좋으나 관용어 처럼 많은 사람들이 사용하는 줄임말 정도는 존재한다.

    • column -> col, latitude -> lat, longitude -> lon

    • count -> cnt (추천 X)

    자주 사용하는 줄임말이 이해될 수 있는 것은 문맥 때문

  3. 은어/방언 사용하지 않기

    새로운 사람이 팀에 합류했을 때 이 용어를 단번에 이해할 수 있는가?

    도메인 용어 먼저 사용하기(도메인 용어 사전이 먼저 필요할 수 있음)

  4. 좋은 코드를 보고 습득하기

    비슷한 상황에서 자주 사용하는 단어, 개념 습득하기

    pool, candidate, threshold

 

추상화 레벨

어떤 내용을 메서드로 추출하는 것은 그 경계를 만든것과 같다.

경계는 코드 블록을 사용하여 블록 바깥은 추상화 레벨이 노고 내부 세계는 구체쪽이기 때문에 추상화 레벨이 낮다.

하나의 블록안에서는 추상화 레벨이 동등해야 한다.

메서드 레벨에서 이야기 할 때 초상화 레벨이 동등하지 않아서 생기는 문제가 아주 많다.

따라서 추상화 레벨이 각각 다를 때 동등한 레벨의 추상화로 시켜야 한다.

 

Early Return

if (a > 3) {
  return ;
} else if (a <= 3 && b > 1) {
  return ;
} else {
  return ;
}
  1. 첫 번째 if문

  2. 두 번째 if문

  3. else : 2개의 모든 분기 점을 기억해야 조건을 기억할 수 있음

if (a > 3) {
  return ;
} else if (a <= 3 && b > 1) {
  return ;
} else {
  return ;
}

Early return을 통해 else의 사용을 지양하자.

 

사고의 depth 줄이기

for () {
  for () {
    if () {
      doSomething();
    }
  }
}

 

method {
  for () {
    
  }
​
}
method {
  for () {
​
  }
}
method {
  if () {
  
  }
}

 

공백 라인을 대하는 자세

공백 라인도 의미를 가진다.

-> 복잡한 로직의 의미를 나누면서 사용한다.

 

 

답변 0