나는 더 깔끔한 방식을 제안하려고 한다. 함수를 만들어 반복 사용하라. 모든 로직을 동일한 코드에 병합하는 대신, 약간의 반복이 있는 코드로 별도의 함수를 만들면 사용 사례마다 별도의 함수를 가지게 된다. 첫 글자만 대문자로 바꾸는 것도 있고, 모든 어절의 첫 글자만 대문자로 바꾸는 것도 있고, 파일 이름을 실제로 형식화하는 것도 따로 둔다. 이 함수들을 같은 곳에 놓을 필요도 없다. 예를 들어 파일 이름과 관련된 코드는 이를 필요로 하는 비즈니스 로직 근처에 놓을 수 있다. 대신 의도가 훨씬 더 잘 전달되는 함수 세 개를 갖게 된다. 첫 번째는 CapitalizeFirstLetter로 그 기능을 더 명확히 보여준다. 두 번째는 CapitalizeEveryWord로 무엇을 하는지 잘 설명해준다. 모든 단어에 대해 CapitalizeFirstLetter 함수를 호출하며, 이전에 재귀를 사용할 경우 그 이유를 추측해야 했던 것보다 훨씬 이해하기가 쉽다. 마지막으로 FormatFilename 함수가 있는데, 이 함수는 대문자화만을 위해 사용하는 것이 아니기 때문에 완전히 다른 이름을 사용한다. 이것은 처음부터 구현된 대문자화를 위한 로직을 모두 가지고 있다. 이렇게 하면 다음 코드에 나오는 것처럼 파일 이름에 대한 형식 규칙이 변경될 때 대문자화하는 작업과는 별개로, 여기에 어떤 영향을 미칠지 고민할 필요 없이 자유롭게 이 함수를 수정할 수 있다.