Community

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

← Go back
3장 .함수
#clean_code
2년 전
365


TIL (Today I Learned)

// 2022.02.24

오늘 읽은 범위

3장. 함수

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

  • 한가지만 해라 (한가지만 한다는것: 지정된 함수 이름 아래에서 추상화 수준이 하나인 단계만 수행함을 의미)

  • 코드는 위에서 아래로 이야기처럼 읽혀야 좋다.

  • 함수에서 이상적인 인수개수는 0개(무항)이다. 3개(3항)이상은 가능한 피하는 편이 좋다.

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

  • 플래그 인수는 추하다. 함수로 부울 값을 넘기는 관례는 정말로 끔찍하다. 왜냐고? 함수가 한꺼번에 여러 가지를 처리한다고 대놓고 공표하는 셈이니까!

내가 함수를 짤 때도 마찬가지다. 처음에는 길고 복잡하다. 들여쓰기 단계도 많고 중복된 루프도 많다. 인수 목록도 아주 길다. 이름은 즉흥적이고 코드는 중복된다. 하지만 나는 그 서투른 코드를 빠짐없이 테스트하는 단위 테스트 케이스도 만든다. 그런 다음 나는 '코드를 다듬고', '함수를 만들고', '이름을 바꾸고', '중복을 제거'한다. '매서드를 줄이고', '순서를 바꾼다'. 때로는 '전체 클래스를 쪼개기'도 한다. 이 와중에도 코드는 항상 단위 테스트를 통과한다. (p.61)

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

  • 자바 코드에 익숙치 않아서 이해가 더뎠다. 다시한번 3장을 읽어봐야겠다.

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

  • OCP(Open Closed Principle) : 개방-폐쇄 원칙. 소프트웨어 개체는 확장에 대해 열려있어야 하고, 수정에 대해 닫혀있어야 한다.

  • enum: enumerated type의 줄임말로 멤버라 불리는 명명된 값의 집합을 이루는 자료형. 참고로, 열거자 이름들은 일반적으로 해당 언어의 상수 역할을 하는 식별자이다.