클린코드에 대해 공부한 것을 바탕으로 MonthSub프로젝트의 유효성 검사 로직을 리팩토링 했다.
게시글 생성과 수정에서 같은 form을 쓰게 했는데 로직이 다른 점이 있다보니, 유효성 검사를 할 때 엄청난 중첩 if를 써서 작성했었다.
최대한 한 함수에 한 기능을 담당하게하고 그것들을 조합해서 사용하려고했는데
이것조차 너무 어려워서 꽤 시간을 쏟았는데도 아직 완성을 못했다.
이 함수는 어디까지 역할을 분담할지 정하는 것도 어려웠고, 너무 기능을 쪼개다보면 함수의 갯수가 너무 많아지기도 했다. 또 함수 이름을 알기 쉽게 작성하는 것도 쉽지 않았다.. 가장 어려웠던 것은 같은 기능에서 작은 예외만 처리해야하는 경우 예외 처리된 함수를 또 새로 만들어야하는지, 외부에서 예외 처리된 데이터를 넘겨야하는지였다.. 일단 후자로 먼저 구현해보고 있다.
선언형으로 프로그래밍하는 것이 정말 어렵다는 것을 느꼈다..내일까지는 꼭 완성해야겠다.