////
Search
Duplicate
🎰

이름

N1: 서술적인 이름을 사용하라

이름을 성급하게 짓지 마라.
서술적인 이름을 신중하게 골라라.
대충 정하기에 이름은 너무도 중요한 요소다.

N2: 적절한 추상화 수준에서 이름을 선택하라

구현을 드러내는 이름은 피하라
작업 대상 클래스나 함수가 위치하는 추상화 수준을 반영하는 이름을 선택하라.

N3: 가능하다면 표준 명명법을 사용하라

기존의 규칙이나 일관성을 따르는 이름은 이해하기 쉽다.
유비쿼터스 언어, DSL를 적극 사용하자.

N4: 명확한 이름

함수나 변수의 목적을 명확히 밝히는 이름을 선택한다.

N5: 긴 범위는 긴 이름을 사용하라

이름의 길이는 작업하는 범위의 길이에 비례해야 한다.
다음과 같이 짧은 코드라면 짧은 이름을 사용해도 괜찮다.
private void rollMany(int n, int pins) { for (int i = 0; i < n; i++) { g.roll(pins); }
Java
복사

N6: 인코딩을 피하라

이름에 유형 정보나 범위 정보를 넣어서는 안 된다.
m_, f_와 같은 접두어가 불필요하다.

N7: 이름으로 부수 효과를 설명하라

함수, 변수, 클래스가 하는 일을 모두 기술하는 이름을 사용하라.
이름에 부수 효과를 숨기지 마라.
여러 작업을 수행하는 함수에 동사 하나만 사용하면 곤란하다.
public ObjectOutPutStream getOos() throws IOException { if (m_oos == null) { m_oos = new ObjectOutputStream(m_socket.getOutputStream()); } return m_oos; }
Java
복사
없으면 생성하고, 있으면 가져오는 함수다. 그러므로 createOrReturnOos가 더 적합하다.