Community

개발자 99% 커뮤니티에서 수다 떨어요!

← Go back
[TIL] <클린코드> 1장 깨끗한 코드
#clean_code
2년 전
814

오늘 TIL 3줄 요약

  • 나쁜 코드는 팀 프로젝트를 망하게 한다.

  • 깨끗한 코드를 작성하기 위해선 좋은 습관을 힘겹게 습득해야 한다.

  • 이 책의 저자들의 생각이 절대적인 진리는 아니지만 그들이 진리라고 생각한다는 이 원칙을 지킨다면 훌륭한 개발자가 될 수 있을 것이다.

TIL (Today I Learned) 날짜

2022. 04. 23

오늘 읽은 범위

1장. 깨끗한 코드

책에서 기억하고 싶은 내용을 써보세요.

  • 나쁜 코드는 개발 속도를 크게 떨어트린다. 팀 생산성이 떨어지며 추가인력 투입이 필요할 일이 생길 것이다. 그럴 수록 나쁜 코드를 더 많이 양산한다. (4p)

  • 깨끗한 코드를 작성하려면 '청결'이라는 힘겹게 습득한 감각을 활용해 자잘한 기법들을 적용하는 절제와 규율이 필요하다. (8p)

  • 예술에 대한 책을 읽는다고 예술가가 되지는 않듯이 이 책을 읽는다고 뛰어난 프로그래머가 된다는 보장은 없다. 단지 뛰어난 프로그래머가 생각하는 방식과 그들이 사용하는 기술과 기교와 도구을 소개할 뿐이다. (19p)

오늘 읽은 소감은? 떠오르는 생각을 가볍게 적어보세요

  • 깨끗한 코드에 대한 정의는 뛰어난 프로그래머들 일지라도 그들마다 각각 다른 의견을 가지고 있다. C++의 비야네(Bjarne)는 논리가 간단한 우아하고 효율적인 코드를 좋아한다. 그래디 부치는 가독성을 중시하고 데이브 토마스는 코드 작성자가 아닌 사람도 읽기 쉽고 고치기 쉬운 코드를 지향한다.

  • 나는 론 제프리스와 같이 중복을 최소화한 코드가 효율적이라고 생각한다. 왜냐하면 같은 코드가 많아 질수록 코드파일이 복잡해지며 유지보수가 힘들었기 때문이다.

  • 저자들의 코드를 대하는 방식에 대한 생각이 절대적인 진리는 아닐 것이다. 하지만 저자들이 오랫동안 고민하고 습득한 교훈과 기법을 잘 배우고 이해한다면 다른 집단에서도 좋은 코드로 인정받는 뛰어난 사람이 될 것이라고 생각된다.

궁금한 내용이 있거나, 잘 이해되지 않는 내용이 있다면 적어보세요.

  • 이 책에서는 다양한 코드 설계 원칙을 거론한다.

    • SRP(Single Responsibility Principle) : 단일 책임 원칙이란 모든 클래스는 하나의 책임만 가지며, 클래스는 그 책임을 완전히 캡슐화해야 함을 일컫는다. 클래스가 제공하는 모든 기능은 이 책임과 주의 깊게 부합해야 한다.

    • OCP(Open Closed Principle) : 개방 폐쇄 원칙은 '소프트웨어 개체(클래스, 모듈, 함수 등등)는 확장에 대해 열려 있어야 하고, 수정에 대해서는 닫혀 있어야 한다'는 프로그래밍 원칙이다.

    • DIP(Dependency Inversion Principle) : 의존관계 역전 원칙은 소프트웨어 모듈들을 분리하는 특정 형식을 지칭한다. 상위 계층(정책 결정)이 하위 계층(세부 사항)에 의존하는 전통적인 의존관계를 반전(역전)시킴으로써 상위 계층이 하위 계층의 구현으로부터 독립되게 할 수 있다.