Community

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

← Go back
TIL (2022.02.22)
#clean_code
2년 전
588


TIL (Today I Learned)

2022.02.22

오늘 읽은 범위

3장. 함수

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

  • 함수는 한가지를 해야 한다. 그 한 가지를 잘 해야 한다. 그 한 가지만을 해야 한다. (p.44)

  • 추상화 수준이 하나인 단계만 수행한다면 그 함수는 한 가지 작업만 한다. (p.45)

  • 함수는 뭔가를 수행하거나 뭔가에 답하거나 둘 중 하나만 해야한다. (p.56)

  • 반복하지 마라! (p.60)

  • 말을 다듬고 문장을 고치고 문단을 정리한다. 코드를 다듬고, 함수를 만들고, 이름을 바꾸고, 중복을 제거한다. 메서드를 줄이고 순서를 바꾼다. 때로는 전체 클래스를 쪼개기도 한다. 이와중에도 코드는 항상 단위 테스트를 통과한다. (p.61)

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

  • 2장의 변수이름 만큼 중요한 함수에 대한 내용이다.
    이번 챕터를 읽고 느낀점은 바로 반성이다.
    책을 읽기 전까지 부수효과를 일으키는 함수나 명령과 조회를 분리한다 라는 생각을 전혀 해본적이 없고 반복이나 한가지 일만 수행하는 등 기본적이지만 지키지 않았던 것을 보며 반성을 하게 된다. (클린코드가 자아성찰해주는 책이였던가...)
    이번 파트의 내용 대부분 공감이 가면서 한편으로 어려운 부분으로 생각된다.
    특히, 한가지 일을 해야 하는 함수를 만들기란 무척 어렵게 느껴진다.
    일을 하다보면 요구사항을 받고 그에 따라 구현하게 되는데 사실 요구사항이 단순한 작업이 요구되는 것이 아니기에 이부분은 정말 많은 노력과 지속적으로 코드를 분석하고 생각해야 할 것 같다.

  • 이번 챕터를 보고 가장 공감이 갔던 부분은 바로 반복이다.
    누구나 아마 한번쯤 복붙하여 사용들 해봤을 것 같다.
    요구하는 내용은 비슷비슷하지만 어딘가 살짝 다른경우 쉽게 하기위해 해당 기능을 복사하여 만드는 것을 해왔는데, 이번 챕터를 보고 코드를 망치는 아주 나쁜 습관인 것을 알게되었다.
    이런 중복되는 부분부터 하나씩 리팩토링을 해야겠다는 의지를 만들게 해준다.

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

  • LOGO 언어

    • 함수형 프로그래밍을 이용하는 교육용 컴퓨터 프로그래밍 언어이다. 오늘날 로고는 주로 터틀 그래픽스로 알려져 있다.

  • DRY

    • Don’t Repeat Yourself

  • DSL

    • 도메인 특화 언어 (DSL: Domain-Specific Languages)

    • 도메인 특화 언어는 관련 특정 분야에 최적화된 프로그래밍 언어입니다. DSL은 해당 분야 또는 도메인의 개념과 규칙을 사용합니다.