Community

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

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

TIL (Today I Learned)

2022.02.23

오늘 읽은 범위

3장. 함수

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

  • 서술적인 이름ㅇ르 사용하라. 코드를 읽으면서 짐작했던 기능을 각 루틴이 그대로 수행한다면, 깨끗한 코드라 불러도 되겠다. 한 가지만 하는 작은 함수에 좋은 이름을 붙인다면 이런 원칙을 달성함ㅇ 있어 이미 절반은 성공했다. 길고 서술적인 이름이 짧고 어려운 이름보다 좋다. 이름을 붙일 때는 일관성이 있어야 한다.

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

  • 일반적으로 출력 인수는 피해야 한다. 함수에서 상태를 변경해야 한다면 함수가 속한 객체 상태를 변경하는 방식을 택한다.

  • 함수는 뭔가를 수행하거나 뭔가에 답하거나 둘 중 하나만 해야한다. 객체 상태를 변경하거나 아니면 객체 정보를 반환하거나 둘 중 하나다.

  • 어쩌면 중복은 소프트웨어에서 모든 악의 근원이다. 많은 원칙과 기법이 중복을 없애거나 제어할 목적으로 나왔다.

  • 소프트웨어러를 짜는 행위는 여느 글짓기와 비슷하다. 처음에는 길고 복잡하다. 들여쓰기 단계도 많고 중복된 루프도 많다. 인수 목록도 아주 길다. 이름은 즉흥적이고 코드는 중복된다, 하지만 나는 그 서투른 코드를 빠짐없이 테스트하는 단위 테스트 케이스도 만든다. 그런 다음 나는 코드를 다듬고, 함수를 만들고, 이름을 바꾸고, 중복을 제거한다. 매서드를 줄이고 순서를 바꾼다.

  • master 프로그래머는 시스템을 (구현할) 프로그램이 아니라 (풀어갈) 이야기로 여긴다.

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

  • 함수 인수는 삼항 이상이 되면 안 된다는 글을 보고 방금 내가 짠 인수가 4개 들어간 함수가 생각났다. 나름 문제 해결을 위해 고심하다가 내린 결론인데 나쁜 함수의 대표적 예라니! 다시 한 번 다른 방법으로 코드를 짜봐야겠다.

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

  • 사실 예시로 나온 함수들 무슨 언어를 쓴건지.. 하나도 이해할 수가 없었다...