ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 클린 코드 1장 깨끗한 코드
    독서_dev/Clean Code 2022. 1. 14. 22:29
    깨끗한 코드를 작성하는 방법은 배우기 어렵다. 단순히 원칙과 패턴을 안다고 깨끗한 코드가 나오지 않는다. 고생을 해야 한다. 스스로 연습하고 실패도 맛봐야 한다. 남들이 시도하다 실패하는 모습도 봐야 한다. 그들이 넘어지고 일어서는 모습도 봐야 한다. 결정을 내리느라 고민하는 모습, 잘못된 결정으로 대가를 치르는 모습도 봐야 한다.

     

    "나중은 결코 오지 않는다."

    기한을 맞추는 유일한 방법은, 그러니까 빨리 가는 유일한 방법은, 언제나 코드를 최대한 깨끗하게 유지하는 습관이다.

    프로그래머들이 대충 넘어가는 부분 중 하나가 오류 처리다. 메모리 누수, 경쟁 상태(race condition), 일관성 없는 명명법이 또 다른 예다. 한 마디로 요악하면, 깨끗한 코드는 세세한 사항까지 처리하는 코드다.

    깨끗한 코드란 한 가지를 잘 한다.
    나쁜 코드는 너무 많은 일을 하려 애쓰다가 의도가 뒤섞이고 목적이 흐려진다.
    깨끗한 코드는 한 가지에 '집중'한다.

    깨끗한 코드는 단순하고 직접적이다.
    깨끗한 코드는 잘 쓴 문장처럼 읽힌다.
    결코 설계자의 의도를 숨기지 않는다.
    오히려 명쾌한 추상화와 단순한 제어문으로 가득하다.

    깨끗한 코드는 작성자가 아닌 사람도 읽기 쉽고 고치기 쉽다.
    단위 테스트 케이스와 인수 테스트 케이스가 존재한다.
    깨끗한 코드에는 의미 있는 이름이 붙는다.
    특정 목적을 달성하는 방법은 하나만 제공한다.
    의존성은 최소이며 각 의존성을 명확히 정의한다.
    API는 명확하며 최소로 줄였다.
    언어에 따라 필요한 모든 정보를 코드만으로 명확히 표현할 수 없기에 코드는 문학적으로 표현해야 마땅하다.

     

    • 깨끗한 코드란 다른 사람이 고치기 쉽다.

    단순한 코드 규칙 (중요한 순)

    • 모든 테스트를 통과한다.
    • 중복이 없다.
    • 시스템 내 모든 설계 아이디어를 표현한다.
    • 클래스, 메서드, 함수 등을 최대한 줄인다.

    중복을 피하라. 한 기능만 수행하라. 제대로 표현하라. 작게 추상화하라.

    코드를 읽는 시간 대 코드를 짜는 시간 비율이 10대 1을 훌쩍 넘는다. 새 코드를 짜면서 우리는 끊임없이 기존 코드를 읽는다.

    비율이 이렇게 높으므로 읽기 쉬운 코드가 매우 중요하다. 주변 코드를 읽지 않으면 새 코드를 짜지 못한다. 주변 코드가 읽기 쉬우면 새 코드를 짜기도 쉽다. 주변 코드를 읽기가 어려우면 새 코드를 짜기도 어렵다. 그러므로 급하다면, 서둘러 끝내려면, 쉽게 짜려면, 읽기 쉽게 만들면 된다.

    체크아웃 할 때보다 좀 더 깨끗한 코드를 체크인한다면 코드는 절대 나빠지지 않는다. 한꺼번에 많은 시간과 노력을 투자해 코드를 정리할 필요가 없다. 변수 이름 하나를 개선하고, 조금 긴 함수 하나를 분할하고, 약간의 중복을 제거하고, 복잡한 if 문 하나를 정리하면 충분하다.

    시간이 지날수록 코드가 좋아지는 프로젝트에서 작업한다고 상상해보라! 전문가라면 너무도 당연하지 않은가! 지속적인 개선이야말로 전문가 정신의 본질이 아니던가?

     


     

    누가 읽어도 크게 이견이 없을만한 좋은 내용들의 향연이었던 것 같다.

    내가 못짜고 있을 뿐 ,,, 🥲

    '독서_dev > Clean Code' 카테고리의 다른 글

    4장 주석  (0) 2022.01.14
    클린 코드 3장 함수  (0) 2022.01.14
    클린 코드 2장 의미 있는 이름  (2) 2022.01.14

    댓글

Designed by Tistory.