노션에서 정리한 내용을 벨로그로 옮겼기 때문에 노션으로 보면 조금 더 보기 더 편합니다🤗
이동하기 → junnkk's Notion
이름을 잘 지으면 편하다! 이름 잘 짓는 간단한 규칙 소개
변수, 함수, 클래스 이름
→ 존재 이유 / 수행 기능 / 사용 방법 ( 주석 없이도 명확하게 의도를 드러내야 함.)
예시) 지뢰 찾기(p22~24)
인코딩 : 코드화, 암호화. 사용자가 입력한 문자나 기호들을 컴퓨터가 이용할 수 있는 신호로 만드는 것.
헝가리식 표기법 : 변수 및 함수 앞에 데이터 타입을 명시하는 규칙
→ 이제 헝가리식 표기법이나 기타 인코딩 방식이 오히려 방해가 됨.
→ 변수, 함수, 클ㄹ스 이름이나 타입을 바꾸기 어려워지며 읽기도 어려워짐
멤버 변수 접두어
→ 멤버 변수(선언 위치: 클래스 영역)
→ 지역 변수(선언 위치: 메소드나 생성자 내부)
→ 클래스와 함수는 접두어가 필요 없을 정도로 작아야 함.
인터페이스 클래스와 구현 클래스
→ 인터페이스 클래스 이름과 구현 클래스 이름 중 하나를 인코딩 해야 한다면 구현 클래스 이름 택.
명료함이 최고
클래스 이름과 객체 이름 ⇒ 명사나 명사구
ex) Customer, WikiPage, Account, AddressParser 등
Manager, Processer, Data, Info 등은 피해야 함
동사 X
메서드 이름 ⇒ 동사
ex) postPayment, deletePage, save 등
접근자, 변경자, 조건자는 javabean 표준에 따라 값 앞에 get, set, is 붙임
생성자 중복정의할 때 정적 팩토리 메서드 사용. 메서드는 인수를 설명하는 이름 사용
생성자 사용을 제한하려면 해당 생성자를 private으로 선언
추상적인 개념 하나에 단어 하나를 선택하여 이를 고수한다
ex) 똑같은 메서드를 클래스마다 fetech, get, retrieve 로 하면 X
⇒ 일관성 있는 어휘를 사용
한 단어를 두 가지 목적으로 사용하지 마라
적절한 '프로그래머 용어' 가 없다면 문제 영역에서 이름을 가져온다
→ 코드를 보수하는 프로그래머가 분야 전문가에게 의미를 물어 파악할 수 있다.
문제 영역 개념과 관련이 깊은 코드라면 문제 영역에서 이름을 가져와야 한다.
⇒ 우수한 프로그래머와 설계자라면 해법 영역과 문제 영역을 구분할 줄 알아야 한다.
but 모든 방법 실패 시 마지막 수단으로 접두어 붙임