Community

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

← Go back
[노개북] 클린코드 TIL 3
#clean_code
2년 전
1,019

오늘 TIL 3줄 요약

  • 함수는 작을수록 좋다

  • 함수는 한 가지만 해야한다

  • 함수에도 스토리가 있다

TIL (Today I Learned) 날짜

2022.04.25 - 2022. 04. 27

오늘 읽은 범위

3장

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

  • 함수를 나눠야하는지 알 수 있는 신호

    • 추상화 수준이 여러 개이다

    • 내려가기 규칙 (to문): 코드를 내려가면서 읽을 때 이야기처럼 읽히지 않는다

    • switch 문

    • 인수가 여러 개이다

    • flag 인수 (bool 타입)일 때

    • 출력 인수

    • 오류처리

  • 객체 인자를 사용해서 함수 인수 개수를 줄일 수 있다

  • switch 문의 경우 추상 팩토리 패턴, 팩토리 메서드 패턴으로 처리하면 깔끔하다

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

함수에도 스토리가 있다. 함수 코드를 봤을 때 이야기가 엉터리라 생각되면 리팩토링을 고려할 때다. 등장인물 (인수)이 너무 많아도 좋지 않다. 러시아 소설 마냥 복잡한 이름도 피해야 한다. 함수의 맥락을 해치는 것은 과감하게 배제하고 미니멀을 추구하자.

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

  • 인수 개수가 가변적인 함수 예시) String.format

    • Variadic Functions

    • C#에서는 params 키워드로 여러 인자를 받는다

  • 구조적 프로그래밍

    • 절차식 프로그래밍이라고도 불림. 하향식 설계를 추구하고 블록 단위로 프로그램 작성. 안티 goto문법 유파

    • 구조적으로 조립해나가는 방식

  • DSL (domain specific language)

    • DSL 이 도메인 전문자 (Domain Expert) 의 입장에서 작성이 되려면 High-Level 언어로 작성이 되고, 이를 Code Generator를 통해서 일반 언어로 변환

    • 내부 DSL vs 외부 DSL

      • Lisp, Ruby, Smalltalk vs Java, C#, C++