Community

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

← Go back
TIL.Assignment #05: 3장. 함수
#clean_code
2년 전
436


TIL (Today I Learned)

오늘 읽은 범위

3장. 함수

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

  • 작게 만들어라

  • 한가지만 해라

  • 한 함수 내에 추상화 수준을 섞으면 코드를 읽는 사람이 헷갈린다. 특정 표현이 근본 개념인지 아니면 세부사항인지 구분하기 어려운 탓이다. ... 근본 개념과 세부사항을 뒤섞기 시작하면, 개어진 창문처럼 사람들이 함수에 세부사항을 점점 더 추가한다.

  • 단순히 다른 표현이 아니라 의미 있는 이름으로 다른 함수를 추출할 수 있다면 그 함수는 여러 작업을 하는 셈이다.

  • 함수 인수 - 최선은 입력 인수가 없는 경우이며, 차선은 입력 인수가 1개 뿐인 경우다.

  • 플래그 인수는 추하다.... 함수가 한꺼번에 여러 가지를 처리한다고 대놓고 공표하는 셈이니까!

  • 함수에서 상태를 변경해야 한다면 함수가 속한 객체 상태를 변경하는 방식을 택한다.

  • 명령과 조회를 분리하라 - 함수는 뭔가를 수행하거나 뭔가에 답하거나 둘 중 하나만 해야 한다.

  • 오류 코드보다 예외를 사용하라

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

  • 코드라인의 뎁스를 맞춘다던가 하는 것도 결국 맥락은 비슷한 것이 아닐까 싶다.

  • 풀어서 이야기하면 읽기 쉽고 이해하기 쉽고 오해의 소지가 없게 그리고 그렇게 하기 위한 방법을 소개 하는 것 같다. 여러가지 이해 할만한 예시를 들어주어 고개를 끄덕이며 읽어나갔다.

    예를 들어 public void appendFooter(StringBuffer refort); ⇒ report.appendFooter(); 처럼

    함수의 인수를 없애면서 함수에 출력인수로 사용하기 위한 객체를 넘기지말고 객체에 속한 함수가 상태를 변화시킨다거나.

  • 다만 한번으로 끝나지않고 숙지하면서 몸에 익히지 못하면 소용 없을 거라는 생각이 들었다.

  • 한번 읽고 다시 읽을 때면 여러 규칙들이 머리에 조금 더 그물처럼 잘 짜여질 것 같다.

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