본문 바로가기

Java/Clean Code3

[클린코드(CleanCode)] 4장. 주석 나쁜 코드에 주석을 달지 마라. 새로 짜라 부정확한 주석은 아예 없는 주석보다 훨씬 더 나쁘다 코드만이 자기가 하는 일을 진실되게 말한다 우리는 주석을 가능한 줄이도록 꾸준히 노력하자 주석은 나쁜 코드를 보완하지 못한다 코드에 주석을 추가하는 일반적인 이유는 코드 품질이 나쁘기 때문이다 표현력이 풍부하고 깔끔하며 주석이 거의 없는 코드가, 복잡하고 어수선하고 주석이 많이 달린 코드보다 훨씬 좋다 코드로 의도를 표현하라 확실히 코드만으로 의도를 설명하기 어려운 경우가 존재할 수 있음 하지만, 몇 초만 더 생각하면 코드로 대다수 의도를 표현할 수 있음 주석으로 달려는 설명을 함수로 만들어 표현해도 충분함 // 직원에게 복지 혜택을 받을 자격이 있는지 검사 if ((employee.flags && HOURLY.. 2020. 11. 18.
[클린코드(CleanCode)] 3장. 함수 작게 만들어라 함수를 만드는 규칙은 작게! 블록과 들여쓰기 if, else, while 문 등으로 들어가는 블록은 한 줄이어야 함 (대게 거기서 함수를 호출) → 그래야 함수는 읽고 이해하기 쉬워짐 한가지만 해라 한 가지만 해야하고, 한 가지를 잘해야함! 단순히 다른 표현이 아닌, 의미 있는 이름으로 다른 함수를 추출할 수 있다면 그 함수는 여러 작업을 하는 것 '한 가지'만 하는지 판단하는 방법 함수 당 추상화 수준은 하나로 함수가 확실히 한 가지 작업만 하려면 함수 내 모든 문장의 추상화 수준이 동일해야 함 한 함수 내에 추상화 수준을 섞으면 코드를 읽는 사람이 헷갈림 위에서 아래로 코드 읽기 : 내려가기 규칙 위에서 아래로 프로그램을 읽으면 함수 추상화 수준이 한 단계씩 낮아짐 Switch 문 sw.. 2020. 11. 18.
[클린코드(CleanCode)] 2장. 의미있는 이름 의도를 분명히 밝혀라 변수, 함수 등에 좋은 이름을 지어주자 그릇된 정보를 피하라 나름 널리 쓰이는 의미가 있는 다른 단어를 다른 의미로 사용하거나,서로 흡사한 이름을 사용하지 마라 String accountList (x) String XYZTestHandleStrings (x) String XYZTestStorageStrings (x) 의미 있게 구분하라 변수이름을 a1,a2 (x) - source, destination 처럼 의미있는 이름으로 불용어를 쓰지말자 불용어 : 인터넷 검색 시 검색 용어로 사용하지 않는 단어. 관사, 전치사, 조사, 접속사 등은 검색 색인 단어로 의미가 없는 단어 Info, Data 또한 a, an, the처럼 의미가 불분명한 불용어 moneyAmount/money, cus.. 2020. 9. 4.