본문 바로가기

클린코드

[클린 코드] 3장 함수 어떤 프로그램이든 가장 기본적인 단위가 함수다. 작게 만들어라! 80년대에는 함수가 한 화면을 넘어가면 안된다고 말했다. 당시 VT100 화면은 가로 80자 세로 24줄이었다. 현대의 모니터가 발전해서 이제 더 표시되지만, 함수는 100줄을 넘어서는 안된다. 아니 20줄도 길다. 블록과 들여쓰기 if/else, while문이 들어가는 블록은 한 줄이어야 한다. 함수 들여쓰기 수준은 1단이나 2단을 넘어서면 안된다. 그래야 함수는 읽고 이해하기 쉬워진다. 한 가지만 해라! 함수는 한 가지를 해야한다. 그 한가지를 잘 해야한다. 함수를 만드는 이유는 큰 개념을 그 다음 추상화 수준에서 여러 단계로 나눠 수행하기 위해서다. 단순히 다른 표현이 아니라 의미있는 이름으로 다른 함수를 추출할 수 있다면, 그 함수는.. 더보기
[클린 코드] 2장 의미있는 이름 변수, 함수, 인수, 클래스, 소스 파일, 디렉터리. 우리는 모든 곳에 이름을 붙인다. 좋은 이름을 지으려면 시간이 걸리지만 좋은 이름으로 절약하는 시간이 훨씬 더 많다. 이름을 주의 깊게 살펴 더 나은 이름으로 개선하면 코드를 읽는 사람이 좀 더 행복해질 수 있다. 좋은 이름을 선택하려면 설명 능력이 뛰어나고, 문화적인 배경이 같아야한다. 1. 의도를 분명히 밝혀라. Use Intention-Revealing Names 변수, 함수, 클래스 이름은 다음의 질문에 모두 답하는 이름이어야 한다. 존재 이유는? 수행 기능은? 사용 방법은? // ❌ let d; // 경과 시간 (단위: 날짜) // ✅ let elapsedTimeInDays; let fileAgeInDays; let daysSinceCreat.. 더보기
[클린 코드] 1장 깨끗한 코드 코드가 존재하리라 누군가는 코드의 종말이 코앞에 닥쳤다고 주장하지만, 코드가 사라질 가망은 전혀 없다. 프로그래밍이란, 기계가 실행할 수 있을 정도로 상세하게 요구사항을 명시하는 작업이다. 사실 창의력과 직관을 보유한 우리 인간조차도 고객의 막연한 감정만 갖고는 성공적인 시스템을 구현할 수 없다. 코드는 요구사항을 정밀하게 표현하는 언어이다. 고도로 추상화된 언어 또한 코드이다. 그러므로 코드도 항상 존재하리라. 나쁜 코드로 치르는 대가 프로그래머라면 누구나 당연히 나쁜 코드로 고생한 경험이 있다. 나쁜 코드는 개발 속도를 크게 떨어뜨린다. 얽히고 설킨 코드를 해독하느라 더 얽히고 설킨 코드를 추가하게 된다. 나쁜 코드는 실제로 회사를 망하게 할 수 있다. 나쁜 코드를 짠 이유는 무엇인가? 제대로 짤 시.. 더보기
[클린 코드] 서문, 0장 들어가면서 최근 좋은 기회로 당근마켓 개발자분들과 우아한형제들 개발자분들이 함께하는 클린 코드 북스터디에 함께하게 되었다. 느슨한 코드에 한 줄기 긴장감이 되어줄 책 읽기와 북스터디 활동이 기대된다. 앞으로 매 장 스터디하며 인상깊은 구절을 정리해보려고 한다. (원래는 1장부터 적어보려했는데, 서문에도 인상 깊은 구절이 많아서 따로 적어보았다.) 서문 옮긴이 서문 (박재호님) 이 책은 로버트 C. 마틴이 40년 이상의 개발 경험을 토대로, 프로 개발자가 어떤 마음가짐으로 개발에 임해야하는지를 다루고 있다. 이 책을 읽고 나면, 왜 전문가 정신, 그리고 장인 정신이 강조되어야 하는지 이해할 수 있다. 이 글은 Java 언어를 베이스로 하지만, 언어나 프레임워크에 관계 없이 우리가 얻어가야할 원칙과 기본은 변하지 않았.. 더보기