끝을 보는 용기

Spring 본캠프 Day 045 - 2단계 계산기 완료, 과제 제출, 첫 리드미(README) 작성

writingforever162 2024. 11. 20. 23:20

온 집중력을 발휘하여 오후 2시 전에 과제를 제출했다. 링크로 제출하다보니 나중에 내용을 더 보충할 수 있어서 다행스러웠다. 첫 개인 과제를 마침 소감은 뭐랄까, 끝이라는 느낌이 전혀 들지 않았다. 내일 오전에 추가 발제가 예정됐기도 하지만, 공부에 끝이 없어서 그럴지도 모른다. 2단계 계산기를 완성할 땐 20분 정도 밖에 안 걸렸는데 깃허브(Github)에 파일을 올리는 데에는 두 배나 더 오래 걸렸다. 오죽하면 "그냥 USB 들고 다니면 안 될까요." 곡소리가 절로 나왔다. 아무튼 남은 트러블슈팅(Troubleshooting)만 정리하면 정말 끝이다.

처음부터 3단계 계산기는 깔끔하게 포기하고 필수인 1단계와 2단계 계산기를 제대로 만들자고 다짐해서 그렇게 아쉽진 않았다. 목표를 달성했다는 사실이 훨씬 더 기뻤다. 솜사탕 구름 위에 누운 듯 행복한 기분에 빠진 나머지 시간이 안 맞은 튜터님 딱 한 분을 제외하고 모든 튜터님께 깃허브 링크를 드렸다. 필수 구현 사항에 모두 체크 표시를 했으니 충분히 할 만큼 했다.

고생했다. 정말로.

 

[습관 관련]

아침에 일찍 일어난 덕분에 계산기 만들기 과제를 마감 전에 낼 수 있었다. 운동은 점심때만 빼고 아침에 거북목 스트레칭과 허리 근력 강화 운동을 하고 저녁에 10분 동안 추가로 운동했다. 이제 자정 전에 잠드는 습관만 다지면 된다.

자바(Java) 문제는 늘 그랬듯이 1개 풀었고, 오늘 깃허브(Github)의 프로필과 프로젝트의 리드미(README)를 시간 가는 줄 모르고 꾸미느라 커밋(commit)을 76번이나 했다. 이번 주 중 가장 꽉 찬 하루를 보내지 않았나 싶다.

 

[학습 관련]

1. 다른 사람이 작성한 코드를 뜯어볼 때 어떤 시선으로 읽어야 할까?

① 어차피 보고 만든다 해도 똑같이 만들지 못하기 때문에 타인의 코드를 보는 건 나쁜 습관이 아니다. 오히려 필요한 습관이다.

② 책을 잘 쓰려면 많은 책을 읽어야 하듯이, 코드를 잘 작성하려면 많이 접해야 한다. 

③ '의도'와 '장점'을 파악해야 한다. '왜 이렇게 코드를 작성했을까?' '어떤 장점이 있는가?'라고 질문하며 읽는 연습을 해야 한다. 다만 지금은 자바(Java)를 배우는 단계이므로 이해력을 높이자.

 

2. 코드 리뷰 (깃허브 링크)

ⓐ 코딩은 창의력 영역이기 때문에 코드를 보면 작성한 사람의 성격이 드러난다. '무엇을 추구하는가?'란 질문에 나올 대답만 해도 유지 보수나 메모리, 가독성, 효율성 등 다양하기 때문이다. 

ⓑ 코드의 첫인상 또한 정말 중요하다. 어떤 신입 개발자를 면접에서 볼지 정할 때, 잘 읽히는 코드를 보면 몇 가지 자잘한 실수가 있어도 치명적인 오류로 보이지 않기 때문이다. 

ⓒ 문단을 나누는 느낌으로 로직(logic), 일명 논리 흐름이 바뀌는 구간에서는 한 줄 띄어 쓰자. 흐름이 바뀌는 순간에 맞춰 코드를 읽는 사람이 숨을 고를 수 있다. 

ⓓ 튜터님은 내가 작성한 2단계 계산기 코드를 쭉 보시더니 '깔끔한 코드'라고 얘기해주셨다. 특히 코드에서 꼼꼼한 성격이 보인다고 얘기해 주셨다. 예상하지 못한 칭찬만큼이나 코드에 성격이 묻어났다는 평이 마음에 쏙 들었다. 글쓰기를 좋아하고 진지하게 평생의 업으로 삼으려는 사람에게 성격이 보인다는 말은 곧 '자신만의 독특한 문체가 있다'는 말과 똑같으니까.

ⓔ '반환타입이 int라서 return "문자열"이 불가능할 때'라는 제목으로 적어두긴 했지만, 다른 사람이 '왜 이 코드는 이렇게 작성했을까?' 의문이 생길 만한 부분에는 주석을 달기로 했다. '// [To Do]'와 같이 남기면 더 좋겠다는 피드백을 받았다. 튜터님께 의도를 말씀드리면서 체감한 부분이기도 했다. 다른 사람이 작성한 코드를 뜯어보자고 결심이 섰을 때, 어떻게 코드를 읽어야 좋을지 조언을 구하고자 튜터님들께 갔다. 물어보길 잘했다.

 

[기타 사항]

과제 해설 특강 중에 얼마나 놀랐는지....... 추가 과제를 할 때는 좀 더 주어진 시간 안에서 마칠 수 있도록 시간 관리를 잘해야겠다. 내일 받을 과제는 내일 생각하고 오늘은 푹 자자.