"이럴 수가! 찐 광기 인정합니다!"
오후 9시에 퇴실 버튼을 누른 후 꾸미기에 푹 빠졌다. 아직 객체 지향이 감이 잘 안 와서 여러 튜터님께 여쭤보았는데, '추상화'와 '구조화' 연습을 정말 많이 해야겠다는 생각이 들었다. 어떤 종류의 글을 쓰든 틀과 흐름을 잡고 쓰는데, 글쓰기와 같은 코딩을 할 땐 그게 될 듯 말 듯 한다.
이 와중에 연습용 패키지(package)와 제출용 패키지를 번갈아 사용하다가 어느 순간 오류가 나서 파일이 싹 지워졌다! 사실 파일은 노트북에 있으니까 그렇다 쳐도, 꼼꼼히 기록해둔 깃 커밋 메시지(Git commit message)가 통으로 날아간 줄 알고 냅다 튜터님께 달려갔다. 10분 동안 천국과 지옥을 오갔다.
오늘은 점심 때 10분 운동만 하고 남은 시간은 오롯이 코딩에 쏟았다. 물론 집에 있는 눈사람 모양 컵에 커피를 담아 틈틈이 바깥 풍경을 바라보는 시간도 보내긴 했다.
"지나치게 많은 기능을 하나에 담은 클래스나 메서드, 혹은 함수를 GodClass나 GodFuntion이라고 부르는데요. 프로그램에서 꼭 피해야 하는 안티패턴(Anti-pattern) 중 하나입니다."
과제의 요구사항은 나름 다 지키긴 했는데, 막상 작성하고 보니 메서드(method) 하나에 모든 기능을 글자 그대로 '때려 박았다.' 객체 지향을 완벽하게 이해하진 못했으나, 적어도 코드를 보는 사람이 쉽게 읽도록 고치는 데 온 노력을 기울였다. 딱 메서드 두 개로 위의 줄줄이 나열된 코드를 한 방에 정리하다니.
무슨 말인지 모르겠다는 말보다 자존심을 긁는 말은 없다.
코딩은 글쓰기이다.
그러니까 내일 5단계를 완료한 후 마지막으로 1단계부터 5단계 키오스크를 검토할 때도 온 집중력을 발휘할 계획이다.
후회가 없을 정도로 노력을 쏟고 난 뒤에 마음 놓고 푹 자자.
딱 하루만.
[24.11.28 추가] 깃 커밋 메시지(Git commit message)가 꼬였을 때, 예를 들어 오늘처럼 파일을 복구하는 과정에서 같은 메시지가 두 번 올라갔다면 그냥 놔두라고 튜터님께서 말씀해 주셨다. 수정하는 방법이 없진 않은데, 꼬인 부분을 보고 '아, 꼬였구나'라고 생각하고 보통 넘어가지 '왜 예쁘게 안 꾸몄어?'라는 생각은 잘 안 든다고.