노개북 클린코드 4일차

ki hyun Lee·2022년 2월 22일
0

노개북

목록 보기
5/16

TIL (Today I Learned)

2022.02.22

오늘 읽은 범위

3장. 함수

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

  • 지금까지 경험을 바탕으로 그리고 오랜 시행착오를 바탕으로 나는 작은 함수가 좋다고 확신한다. (p.43)

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

  • 코드는 위에서 아래로 이야기처럼 읽혀야 좋다. (추상화 수준이 갈수록 낮아져야 한다.) (p.46)

  • 길고 서술적인 이름이 짧고 어려운 이름보다 좋다. (p.49)

  • 함수에서 이상적인 인수 개수는 0개다. 다음은 1개고, 다음은 2개다. 3개는 가능한 피하는 편이 좋다. 4개 이상은 특별한 이유가 필요하다. 특별한 이유가 있어도 사용하면 안된다. (p.50)

  • 부수 효과는 거짓말이다. 함수에서 한 가지를 하겠다고 약속하고선 남몰래 다른짓도 하니까. (p.54)

  • 함수는 '한 가지' 작업만 해야 한다. 오류 처리도 '한 가지' 작업에 속한다. 그러므로 오류를 처리하는 함수는 오류만 처리해야 마땅하다. (p.59)

  • 어쩌면 중복은 소프트웨어에서 모든 악의 근원이다. (p.60)

  • (좋은 함수는) 처음부터 탁 짜내지지 않는다. 그게 가능한 사람은 없으리라. (p.62)

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

  • 이때까지 내가 짜는 함수들은 모두 읽기 쉽고 이해하기 쉬워 '좋은 함수' 라는 착각에 빠져 있었다는 것을 깨달았다. 내가 짜는 함수들은 모두 여러가지 일들을 하고 있었고 한 가지를 잘 하지 못했다.

  • 중복을 최대한 없애려고 하면서도 모든 코드에 복사 붙여넣기를 하고 있는 내 모습을 보고 많은 반성을 하게 되었다.

  • 이때까지 코드를 한 번 짜고 나서 짠 코드를 다시 고치는 일이 잘 없었는데 얼마나 무지한 일이였는지 새삼 깨닫게 됬다. 리팩토링은 중요하다!

  • 함수가 얼마나 작아야 하는지 잘 몰랐었는데 이 책에 나오는 예제를 보고 알게 되었다. 함수는 "더 이상은 도저히 줄일 수 없다." 라는 생각이 들 때까지 작게 만들어야 한다.

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

  • TO 문단: LOGO 언어에서 사용하는 키워드 'TO'는 루비나 파이썬에서 사용하는 'def'와 같다. LOGO에서 모든 함수는 키워드 'TO'로 시작한다. 이는 함수를 설계하는 방식에 흥미로운 영향을 미쳤다.

  • 다형성: 다형성(polymorphism)이란 하나의 객체가 여러 가지 타입을 가질 수 있는 것을 의미합니다

  • SRP (단일 책임 원칙): 단일 책임 원칙이란 모든 클래스는 하나의 책임만 가지며, 클래스는 그 책임을 완전히 캡슐화해야 함을 일컫는다.

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

profile
Full Stack Developer at Team Verse

0개의 댓글