Community

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

← Go back
TIL 3장 함수
#clean_code
2년 전
520


TIL (Today I Learned)

// 2022.02.23

오늘 읽은 범위

// 3장. 함수

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

  • 가로는 150자를 넘어서는 안 된다. 함수는 100줄을 넘어서는 안 된다. 아니 20줄도 길다. (p.43)

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

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

  • 이름이 길어도 괜찮다. 겁먹을 필요없다. 길고 서술적인 이름이 짧고 어려운 이름보다 좋다. 길고 서술적인 이름이 길고 서술적인 주석보다 좋다. 함수이름을 정할때는 여러 단어가 쉽게 읽히는 명명법을 사용한다. 그런 다음, 여러단어를 사용해 함수 기능을 잘 표현하는 이름을 선택한다. (p.49)

  • 모듈 내에서 함수 이름은 같은 문구, 명사, 동사를 사용한다. (p.50)

  • 부수 효과를 일으키지 마라! (p.54)

  • 함수는 그 언어에서 동사며, 클래스는 명사다. (p.62)

  • 대가프로그래머는 시스템을 프로그램이 아니라 이야기로 여긴다. 프로그래밍 언어라는 수단을 사용해 좀 더 풍부하고 좀 더 표현력이 강한 언어를 만들어 이야기를 풀어간다. 시스템에서 발생하는 모든 동작을 설명하는 함수 계층이 바로 그 언어에 속한다. 재귀라는 기교로 각 동작은 바로 그 도메인에 특화된 언어를 사용해 자신만의 이야기를 풀어간다. (p.62)

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

  • 솔직히 함수 이름을 짓는데 굉장히 어려움을 느끼는 나로써는 많은 공감과 배움이 있는 챕터였다. 단어사전을 찾아보며 짓곤 하는데, 뭔가 짧으면서도 정확히 뜻을 드러내는 함수명을 찾느라 늘 고심하였다. 하지만 이번 챕터를 읽으면서 앞으로는 차라리 서술을 하더라도 읽자마자 "아!" 하고 이해할 수 있는 함수명으로 변경해봐야겠다는 생각이 들었다.

  • 게다가 한 함수는 한가지의 일만 해야한다는점은 익히들어 알고있었지만 나또한 부수효과를 너무 많이 악용하고 있던것은 아닌지 돌이켜보는 시간이 되었다.

  • 지금부터라도 프로그램이 아니라 이야기로 코드를 풀어보는것은 어떨까? 잘 짜여진 이야기처럼 잘 짜여서 술술 읽히는 코드를 짜보고 싶다..!

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

  • 플래그 인수 : 호출되는 함수가 실행할 로직을 호출하는 쪽에서 선택하기 위해 전달하는 인수

    • 플래그 인수는 추하다. 함수로 부울값을 넘기는 관례는 정말로 끔찍하다. (p. 52)