본문 바로가기
개발이야기/Etc.

클린코드(CleanCode) - 의미 있는 이름1

by hyung12 2021. 3. 29.
반응형

 

 

 

✨ 의도를 분명히 밝혀라

이름을 주의 깊게 살펴 더 나은 이름이 떠오르면 개선하기
변수나 함수 그리고 클래스 이름을 지을 때는 존재 이유, 수행 기능, 사용 방법을 따로 주석으로 쓰지 않아도 될 이름으로 지어야 한다

 

✨ 그릇된 정보를 피하라

나름대로 널리 쓰이는 의미가 있는 단어를 다른 의미로 사용하면 아니되며, 서로 흡사한 이름을 사용하지 않도록 주의한다
또한 유사한 개념은 유사한 표개법을 사용한다

 

✨ 의미 있게 구분하라

연속된 숫자(a1, a2, a3, ...)를 덧붙이거나 불용어(a, an, the)를 추가하는 방식은 적절하지 못하다

Info나 Data는 a, an, the와 마찬가지로 의미가 불분명한 불용어이다

ex) moneyAmount → money / customerInfo → customer / theMessage → message

 

✨ 발음하기 쉬운 이름을 사용하라

발음하기 어려운 이름은 토론하기도 어렵다
또한 새로운 개발자가 들어오묜 설명을 해주어야 한다
프로그래밍은 사회 활동이기 때문에 발음하기 쉬운 이름은 중요하다

 

✨ 검색하기 쉬운 이름을 사용하라

문자 하나를 사용하는 이름과 상수는 텍스트 코드에서 쉽게 눈에 띄지 않아 검색하기 어려운 탓에 긴 이름이 짧은 이름으로 사용하는 것이 좋다
변수나 상수를 코드 여러 곳에서 사용한다면 검색하기 쉬운 이름이 바람직하며 이름 길이는 범위 크기에 비례해야 한다

e라는 문자 변수는 영어에서 가장 많이 쓰는 문자이기에 짧은 이름보다는 긴 이름으로!

 

✨ 인코딩을 피하라

문제 해결에 집중하는 개발자에게 인코딩은 불필요한 정식적 부담이다
인코딩한 이름은 거의 발음하기 어렵고 오타가 생기기도 쉽다

  • 헝가리식 표기법
    이름 길이가 제한된 언어를 사용하던 옛날에는 어쩔 수 없이 사용했으며 포트란은 첫 글자로 유형을 표현했다
    요즘 나오는 프로그래밍 언어는 훨씬 많은 타입을 지원하며 컴파일러가 타입을 기억하고 강제하고 클래스와 함수는 점차 작아지는 추사라 변수를 선언한 위치와 사용하는 위치가 멀지 않다
    헝가리식 표기법은 변수, 함수, 클래스 이름이나 타입을 바꾸기가 어려워지며 읽기도 어려워진다
  • 멤버 변수 접두어
    멤버 변수에 m_ 이라는 접두어를 붙일 필요가 없다
    사람들은 접두어 또는 접미어를 무시하고 이름을 해독하는 방식을 재빨리 익히기에 코드를 읽을수록 접두어는 관심 밖으로 밀려난다
  • 인터페이스 클래스와 구현 클래스
    때로는 인코딩이 필요한 경우도 있다
    옛날 코드에서 많이 사용하는 접수어 I는 주의를 흐트리고 과도한 정보를 제공하므로 인터페이스 클래스 이름과 구현 클래스 이름 중 하나를 인코딩해야 한다면 구현 클래스 이름을 택하겠다

 

✨자신의 기억력을 자랑하지 마라

전문가 프로그래머는 명로함이 최고하는 사실을 이해하며 자신의 능력을 좋은 방향으로 사용해 남들이 이해하는 코드를 내 놓는다

 

✨클래스 이름

클래스 이름과 객체 이름은 명사나 명사구가 적합하다

 

✨메서드 이름

메서드 이름은 동사나 동사구가 적합하다
생성자를 중복 정의 할 때는 정적 팩토리 메서드를 사용하며 메서드는 인수를 설명하는 이름을 사용한다

 

 

 

반응형