DAY5
🔖 오늘 읽은 범위 : 2장, 의미있는 코드 (p.25~38)
😃 책에서 기억하고 싶은 내용을 써보세요.
💡 의미 있게 구분하라
- 컴파일러를 통과할지라도 연속된 숫자를 덧붙이거나 불용어를 추가하는 방식은 적절하지 못하다. 이름이 달라야 한다면 의미도 달라져야 한다. (p.26)
- 읽는 사람이 차이를 알도록 이름을 지어라. (p.27)
💡 발음하기 쉬운 이름을 사용하라
- 말을 처리하려고 발달한 두뇌를 활용하지 않는다면 안타까운 손해다. 발음하기 쉬운 이름은 중요하다. 프로그래밍은 사회 활동이기 때문이다. (p.27)
- 두 번째 코드는 지적인 대화가 가능해진다. (p.28)
class DtaRcrd102 {
private Date genymdhms;
private Date modymdhms;
private final String pszqint = "102";
}
class Customer {
private Date generationTimestamp;
private Date modificationTimestamp
private final String recordId = "102";
}
💡 검색하기 쉬운 이름을 사용하라
- 이름 길이는 범위 크기에 비례해야 한다. 변수나 상수를 코드 여러 곳에서 사용한다면 검색하기 쉬운 이름이 바람직하다. (p.28)
💡 인코딩을 피하라
- 유형이나 범위정보까지 인코딩에 넣으면 그만큼 이름을 해독하기 어려워진다. (p.29)
💡 자신의 기억력을 자랑하지 마라
- 코드를 읽으면서 변수 이름을 자신이 아는 이름으로 변환해야 한다면 그 변수 이름은 바람직하지 못하다. (p.31)
- 똑똑한 프로그래머와 전문가 프로그래머 사이에서 나타나는 차이점 하나만 들자면, 전문가 프로그래머는 명로햠이 최고라는 사실을 이해한다. 전문가 프로그래머는 자신의 능력을 좋은 방향으로 사용해 남들이 이해하는 코드를 내놓는다. (p.31~32)
💡 클래스 이름 && 메서드 이름
- 클래스 이름과 객체 이름은 명사나 명사구가 적합하다. (p.32)
- Customer, WikiPage, Account, AddressParser
- 메서드 이름은 동사나 동사구가 적합하다. (p.32)
- postPayment, deletePage, save
- 접근자, 변경자, 조건자는 javabean 표준에 따라 값 앞에 get, set, is를 붙인다. (p.32)
💡 기발한 이름은 피하라
- 이름이 너무 기발하면 저자와 유머 감각이 비슷한 사람만, 그리고 농담을 기억하는 동안만, 이름을 기억한다. 재미난 이름보다 명료한 이름을 선택하라. (p.32)
- 특정 문화에서만 사용하는 농담은 피하는 편이 좋다. 의도를 분명하고 솔직하게 표현하라. (p.33)
🤔 오늘 읽은 소감은? 떠오르는 생각을 가볍게 적어보세요.
✨ 이름을 지을 땐 항상 명확하게
👉🏻 의미있는 변수명을 짓는 것은 나만을 위한 작업은 아닌 것 같다는 생각이 든다. 내가 알아보기 위해서 변수명을 지을거면 왜 코딩을 하나? 프로그래머는 개인주의가 아무리 강하다고 하지만 내가 생각하기에는 팀워크가 주가 된 직업이다. 반드시 우리는 변수명이던 함수명이던 "의미 있게" 구분하고 명명 작업을 거쳐야 할 것 같다.