본문 바로가기

개발 관련 공부/클린코드16

클린코드 4장 이 포스트는 2021.12~2022.09 기간동안 벨로그에 작성한 글을 티스토리에 옮겨 적은 것입니다. 4장 주석 주석이 필요한 상황에 처하면 곰곰이 생각하기 바란다. 상황을 역전해 코드로 의도를 표현할 방법은 없을까? 주석은 나쁜 코드를 보완하지 못한다. 코드가 엉망진창이라 설명하기 위해서 주석을 단다? 그냥 코드를 깔끔하게 바꿔라. 뼈때리네.. 코드로 의도를 표현하라 //직원이 복지해택 받을 자격 있으면... if (employee.flag==True){ ... } 이렇게 하지말고 if (employee.isEligibleForFullBenefits()){ ... } 이렇게 하자 좋은 주석 아래는 글자값 하는 주석의 목록이다. 법적인 주석: 코드 파일 첫머리의 저작권 정보 등.. 정보를 제공하는 주석.. 2022. 9. 15.
클린코드 3장 이 포스트는 2021.12~2022.09 기간동안 벨로그에 작성한 글을 티스토리에 옮겨 적은 것입니다. 3장 함수 의도를 분명히 표현하는 함수를 어떻게 구현할 수 있을까? 함수에 어떤 속성을 부여해야 처음 읽는 사람이 프로그램 내부를 직관적으로 파악할 수 있을까? 작게 만들어라 중첩 구조가 생길만큼 함수가 커져서는 안된다. 함수에서 들여쓰기 수준은 1단이나 2단을 넘어서면 안된다. if문, while문 안에 들어가는 코드가 길어질거 같다면 함수로 쪼개자 한 가지만 해라 함수는 한 가지만 해야 한다. '한가지' 의 기준이 좀 모호한데... 의미 있는 이름으로 다른 함수를 추출할 수 있다면 그 함수는 여러 작업을 한다고 봐도 된다. 함수 당 추상화 수준은 하나로 추상화 수준이 높은 함수랑 추상화 수준이 낮은.. 2022. 9. 15.
클린코드 2장 이 포스트는 2021.12~2022.09 기간동안 벨로그에 작성한 글을 티스토리에 옮겨 적은 것입니다. 2장 의미 있는 이름 의도를 분명히 밝혀라 좋은 이름으로 절약하는 시간이 많다... 예를들면 날짜 변수라면 int d; 이딴식으로 짓지 말고 int elapsedTimeInDays; int daySinceCreation; 이렇게 짓자. 이렇게 이름을 통해 정보를 제공하면 코드의 단순성(연산자 수, 상수 수 등)은 똑같더라도 코드가 더욱 명확해진다. 그릇된 정보를 피하라 나름대로 널리 쓰이는 의미가 있는 단어를 다른 의미로 사용하면 안된다. 예를들어 직각삼각형의 빗변(hypotenuse)를 hp라고 하면...오해의 소지가 있다. 그냥 int 변수를 어쩌구_List 이렇게 짓는 것도 피하자. 헷갈릴 여지가.. 2022. 9. 15.
클린 코드 1장 이 포스트는 2021.12~2022.09 기간동안 벨로그에 작성한 글을 티스토리에 옮겨 적은 것입니다. 1장 깨끗한 코드 모든 프로그래머가 기한을 맞추려면 나쁜 코드를 양산할 수밖에 없다고 느낀다. ..(중략).. 나쁜 코드를 양산하면 기한을 맞추지 못한다. 오히려 엉망진창인 상태로 인해 속도가 곧바로 늦어지고, 결국 기한을 놓친다. 깨끗한 코드란? 전문가들에게 물었다. 깨끗한 코드는 한 가지에 집중한다. 너무 많은 일을 하려 애쓰다간 의도가 뒤섞이고 목적이 흐려지기 때문. 가독성이 좋아야 한다. 코드를 읽는 사람에게 프로그래머가 단호하다는 인상을 줘야 한다. 다른 사람이 고치기 쉬운 코드여야 한다. 그리고 테스트 케이스가 있는 코드여야 한다. 깨끗한 코드는, 세세한 사항까지 꼼꼼하게 신경쓴, 주의 깊게.. 2022. 9. 15.
반응형