함수를 만드는 첫 번째 규칙은 '작게!'다. 함수를 만든느 두 번째 규칙은 '더 작게!'다. 지금까지 경험을 바탕으로, 또한 오랜 시행착오를 바탕으로 작은 함수가 낫다고 확신한다.
나 또한 작은 경험으로도 함수가 작을수록 유지보수가 편하다는 것을 알게 됐다. 책에서는 예시를 들기 위해 대략 50줄 함수를 5줄로 줄였다. 이는 이 함수가 어떤 일을 하는지 코드를 본 동시에 알 게 되는 것이고, 하나의 함수가 하나의 일을 해야한다는 것에 부합한다.
함수가 확실히 '한 가지' 작업만 하려면 함수 내 모든 문장이 동일한 추상화 수준에 있어야 한다.
물론 따지자면 하나의 함수가 단 하나의 일만 한다고는 할 수 없겠지만, 여기서는 함수가 지정된 함수 이름 아래에서 추상화 수준이 하나인 단계만 수행한다면, 그 함수는 한 가지의 작업만 한다고 말한다.
함수에서 이상적인 인수 개순느 0개(무항)이다. 다음은 1개이고, 다음은 2개이다. 3개는 가능한 피하는 편이 좋다.
사실 인수의 개수를 줄이는 명확한 이유를 모르겠다. 다만 인수가 많아질 수록 함수는 이해하기 어려워지며 함수가 다양한 일을 한다는 것에는 동의한다. 특히 플래그 인수(참, 거짓)을 쓰지 마라는 것은 기억해야할 부분이다.
이번 강에서는 프로그램의 본질이라고 할 수 있는 함수에 대해서 배웠다. 여기서 설명한 규칙인 길이가 짧고, 이름이 좋은 함수를 만드는 것을 유지하는게 쉽지는 않겠지만 본질을 지저분하게 하면 전체 프로그램이 더러워지는 것과 마찬가지기에 항상 깔끔하고 단정하게 유지해야한다.