CleanCode TIL (2022.01.24)
DAY 4
🔖 오늘 읽은 범위 : 2장 의미 있는 이름 (22~31p)
🤓 책에서 기억하고 싶은 내용
의도를 분명히 밝혀라
- 좋은 이름을 지으려면 시간이 걸리지만 좋은 이름으로 절약하는 시간이 훨씬 더 많다.
- 따로 주석이 필요하다면 의도를 분명히 드러내지 못한 것
질문에 답하라
- 변수의 존재 이유는?
- 수행 기능은?
- 사용 방법은?
개념에 이름을 붙여라
public List<Cell> getFlaggedCells() {
List<Cell> flaggedCells = new ArrayList<Cell>();
for (Cell cell : gameBoard)
if (cell.isFlagged())
flaggedCells.add(cell);
return flaggedCells;
}
그릇된 정보를 피하라
- 자신에게만 편한 약어 ❌
- type과 일치하지않는 suffix ❌ (일치해도 왠만하면 생략)
- 소문자 ‘l’ 이나 대문자 ‘O’ 를 약어로 쓰기 ❌
의미 있게 구분하라
- 연속적인 숫자를 덧붙인 이름 ❌
- Info, Data, a, an, The, var, table, string, amount, message 같은의미 없는 불용어추가 ❌
발음하기 쉬운 이름을 사용하라
- 프로그래밍은 사회활동이다 → 젠야무다힘즈genymdhms ❌
검색하기 쉬운 이름을 사용하라
- 간단한 메서드에서 로컬 변수만 한 문자를 사용하자
- 이름 길이는 범위 크기에 비례해야 한다.
- 여러 곳에서 사용할거면 찾기 쉬운 긴 이름이 좋다.
인코딩을 피하라
멤버 변수 접두어
- m_ 같은 접두어 ❌ → 다른 색상 IDE면 충분
인터페이스 클래스와 구현 클래스
- 인터페이스가 아니라 구현 클래스에 인코딩을 하자 인터페이스: ShapeFactory 구현 클래스: CShapeFactory or ShapeFactoryImp
🤔 떠오르는 생각
- 코드를 작성 할때마다 항상 이건 너무 verbose한가? 고민하던 시기가 있었다. 하지만 변수가 길면 오히려 검색하기 쉽다는 신선한 충격이 그 고민에서 나를 해방 시켜주었다!
🔎 질문
- 하지만 너무나도 긴 변수는 줄이긴해야하는데 그런 노하우도 알고싶다. 예를 들어 Oracle의 Object명은 30자로 제한 되어있어 때로는 일관성을 깨고 session을 sess 라고 쓰는 등의 축약을 한다.
📝 소감 3줄 요약
- 좋은 이름을 지으려면 시간이 걸리지만 좋은 이름으로 절약하는 시간이 훨씬 더 많다.
- 변수가 길면 오히려 검색하기 쉽다.
- 젠야무다힘즈 금지.
Author And Source
이 문제에 관하여(CleanCode TIL (2022.01.24)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://velog.io/@henry/CleanCode-TIL-2022.01.24
저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
public List<Cell> getFlaggedCells() {
List<Cell> flaggedCells = new ArrayList<Cell>();
for (Cell cell : gameBoard)
if (cell.isFlagged())
flaggedCells.add(cell);
return flaggedCells;
}
- 여러 곳에서 사용할거면 찾기 쉬운 긴 이름이 좋다.
- 코드를 작성 할때마다 항상 이건 너무 verbose한가? 고민하던 시기가 있었다. 하지만 변수가 길면 오히려 검색하기 쉽다는 신선한 충격이 그 고민에서 나를 해방 시켜주었다!
🔎 질문
- 하지만 너무나도 긴 변수는 줄이긴해야하는데 그런 노하우도 알고싶다. 예를 들어 Oracle의 Object명은 30자로 제한 되어있어 때로는 일관성을 깨고 session을 sess 라고 쓰는 등의 축약을 한다.
📝 소감 3줄 요약
- 좋은 이름을 지으려면 시간이 걸리지만 좋은 이름으로 절약하는 시간이 훨씬 더 많다.
- 변수가 길면 오히려 검색하기 쉽다.
- 젠야무다힘즈 금지.
Author And Source
이 문제에 관하여(CleanCode TIL (2022.01.24)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://velog.io/@henry/CleanCode-TIL-2022.01.24
저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
- 좋은 이름을 지으려면 시간이 걸리지만 좋은 이름으로 절약하는 시간이 훨씬 더 많다.
- 변수가 길면 오히려 검색하기 쉽다.
- 젠야무다힘즈 금지.
Author And Source
이 문제에 관하여(CleanCode TIL (2022.01.24)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@henry/CleanCode-TIL-2022.01.24저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)