반응형

클린코드 2

[클린코드] 함수

함수를 만들 때 고민해야 하는 것 의도를 분명히 표현하는가? 어떤 속성을 부여해야 읽는 사람이 직관적으로 파악할 수 있을까? 1. 최대한 작게 만들자 함수가 작을수록 이해하기 쉽다. 그럼 얼마나 작아야 할까? 조건문이 들어가는 블록은 한 줄이어야 한다. 함수에서 중첩 구조를 지양하자. 들여 쓰기 수준은 1단이나 2단을 넘지 않는 게 좋다. 또한 함수를 구성할 때 추상화 수준이 높은 단계부터 낮은 단계로 내려가면서 배치해야 한다. 2. 한 가지만 하자 함수를 만드는 이유는 큰 개념을 추상화 수준에서 여러 단계로 작게 나눠서 수행하려는 것인데, 하나의 함수 안에서 여러 단계를 처리하면 복잡해진다. 함수가 한 가지 작업만 하는지 판단하는 방법 함수 내 추상화 수준이 동일한 단계만 수행한다면 그 함수는 한 가지..

[클린코드] 의미 있는 이름의 특징

1. 의도가 분명하다. 개발자는 변수, 함수, 클래스의 존재 이유, 수행 기능, 사용 방법을 모두 답할 수 있어야 한다. 클래스 이름: 명사나 명사구가 적합하다. 동사는 사용하지 않는다. 메서드: 동사나 동사구가 적합하다. 2. 그릇된 정보가 없다. 일관성이 떨어지는 표기법을 이름으로 사용하면 안 된다. 진짜 끔찍한 예시 int a = l; if(O == 1) { a = O1; } else { l = 01; } 1과 l, 0과 O의 생김새가 비슷해서 헷갈리게 된다. 이런 코드는 생산성을 저하시킨다. 3. 의미 있게 구분된다. 컴파일러를 통과하려는 생각만 가지고 코드를 구현하는 게 아니라, 읽기 쉬운 코드를 구현하자. a, the, Info, Data와 같은 불용어를 추가한 이름은 아무런 정보도 제공하지 ..