Community

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

← Go back
[Clean Code] Assignment #02
#clean_code
2년 전
574


TIL (Today I Learned)

2022.02.19


오늘 읽은 범위

추천사 ~ 1장. 깨끗한 코드


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

  • 궁극적으로 코드는 요구사항을 표현하는 언어라는 사실을 명심한다. (p.3)

  • 비야네 스트롭스트룹(Bjarne Stroustrup) (p.9~10)

    • 나는 우아하고 효율적인 코드를 좋아한다. 논리가 간단해가 버그가 숨어들지 못한다. 의존성을 최대한 줄여야 유지보수가 쉬어진다.

    • 깨끗한 코드는 '보기에 즐거운' 코드다.

    • 프로그래머들이 대충 넘어가는 부분 중 하나가 오류 처리다. 메모리 누수, 경쟁 상태(race condition), 일관성 없는 명명법이 또 다른 예다.

    • 깨끗한 코드는 세세한 사항까지 꼼꼼하게 처리하는 코드다.

    • 깨끗한 코드는 한 가지에 '집중'한다. 각 함수와 클래스와 모듈은 주변 상황에 현혹되거나 오염되지 않은 채 한길만 걷는다.

  • 그래디 부치(Grady Booch) (p.10~11)

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

    • 코드는 추측이 아니라 사실에 기반해야 한다.

  • 론 제프리스(Ron Jeffries) (p.13)

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


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

  • 나쁜 코드를 짜고 난 뒤 한참이 지나 다시 그 코드르 봤을 때, 감당이 안 되는 내 자신을 보며 이 책을 읽고 나는 항상 나쁜 코드만 짰다는 걸 알 수 있었다. 깨끗한 코드 짜는 것은 힘들다. 그러나, 대가들이 말하는 것처럼 간단하고 중복을 없애고 우아하게 짜도록 노력이라도 해야겠다.


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

  • 뒤에 후술하겠지만 다양한 설계 원칙인 SRP, OCP, DIP 등에 대한 내용을 제대로 모르겠다. 이렇게 TIL에 메모해놓고 추후에 다시 상기시켜야겠다.