본문 바로가기
개발공부하며 느낀 인생 공부

내가 코딩공부를 하며 지켜야할 세 가지 원칙(메가테라 6주차 월요일 til)

by 날파리1 2022. 6. 14.

트레이너와 짝프를 하다.

어젠 오래간만에 트레이너 노아와 짝 프로그래밍을 했다. 우리는 너무 많은 것들을 머릿속으로 해결하려 한다. 하나씩 해라 등등 여러 가지 조언을 들었는데 그것을 간략하게 정리해보려고 한다. 처음 트레이너 노아와 짝 프로그래밍을 했을 때 한 방법을 떠올리며 해보려 했었지만 결국 그것을 볼 때와 내가 직접 할 때가 많이 달라 다시 관성처럼 나의 복잡한 식으로 돌아갔다. 이번에는 노아가 손을 데지 않고 나 혼자 조언을 통해 이것저것 해보는 것이었는데 의외로 자물쇠가 스륵 풀리듯 풀려서 시원하면서도 찝찝한(?) 느낌을 받았다. 그 와중에 노아가 기억하라고 한 방법을 한번 공유해보려고 한다.

 

첫째. 시키는 대로 해라

나는 너무 내 멋대로 하려고 한다. 문제에서 제기된 해결법? 접근법? 양식 그대로를 따라 그려라.

 

둘째 하나하나씩 해라. 때론 노가다가 제일 빨리 가는 방법이다.

항상 어떤 문제를 보면 구체적 사건들 -> 규칙을 대략 찾기 -> 사건들을 모두 아우르는 공식을 떠올리기 방식이라서 처음엔 잘되는 것 같다가도 규칙을 찾은 후 그것을 공식화하려 할 땐 진짜 무슨 수십 개의 계산기를 돌리는 싸구려 컴퓨터 마냥(물론 싸구려 컴퓨터조차도 계산기 많이 돌리는 거 정도는 상관없다.) 부하가 많이 왔는데 그 반대로 접근하라고 들었다. 일단 테스트 코드를 짜지 않으니 기준이 되는 대입 값을 하나 정한 뒤 거기에 맞게 상황 1부터... n 번째까지 손이든 뭐든 다 하나씩 써 내려가 보라고 했다. 그리고 그 값들을 위에서 문제에서 주어진 양식대로 괄호부터 작은 단위 하나까지 맞춰서 놓아본다. (항상 초기값이 예외가 나와서 공식을 만들 때 너무 어려웠는데 그럴 경우 임의로 초기값이 0이라고 생각하고 괄호를 넣어 맞추니 모양이 짜졌다. 물론 글로 써 내려가니 잘 어렵지만 미래의 나는.. 이해하겠지?) 그런 후 반복문이든 뭐든 그 값을 낼 수 있는 규칙을 만들어본다.

 

셋째 아샬 님의 사고방식의 그대로 따라가라

문제를 단순히 풀었냐(해결했냐)의 문제가 아니라 이 문제에 대해 어떤 식으로 접근하고 해결하고 문제가 생겼을 땐 어떻게 풀어나가는지 그 사고방식을 그대로 흡수하는 게 중요하다고 했다. 매우 공감하는 말이었다.. (그렇지만 그 사고방식 따라가는 게 어렵..)

 

추가 디버깅하는 능력

사실 디버깅하는 법도 셋째와 맥락이 비슷하긴 한데 문제가 일어났을 때 순차적으로 접근해가며 돌다리를 하나씩 두드려보듯 바꾸어보고 문제가 없다면 그것은 놔두고 다시 다른 문제가 될 것을 사고하고 해결해가는 게 인상 깊었다. 막상 문제들이 풀릴 땐 끄덕끄덕했지만 내가 저렇게 하나하나 디버깅 포인트를 짚어낼 수 있을까라는 생각을 많이 했다.(이것도 근데 홀맨님 말처럼 그 템플릿을 사진 찍듯이 외우면 보일 것 같다. 나도 주짓수 1도 모를 땐 왜 저러지 했는데 이제 아는 것도 그냥 그 상황들을 외운 것이라고 생각한다. 마치 우리가 뻔한 로맨스 드라마 다음 대사를 줄줄이 꿰듯이)

 

마지막 추가로..

어제 처음으로 코딩하는데 엄청 늦은 시간이었는데 잠이 안 왔다! 원래 최근에 일찍 일어나고 있어서 매우 졸려야 하는데 피곤은 했지만 졸리지 않았다는 건 내가 재미를 느꼈다고 생각하면 된다. 진짜 한 달 내내 공부하면서 간절히 찾았던 즐거움의 조각이었는데.. 사실 무언가를 열심히 하고 더 알아가고 학습을 한다는 사실 자체에 초점을 맞춰서 공부해오면서 재미를 느끼려 했는데 어제는 그것과는 조금은 달랐던 것 같다. 난 무언가를 즐길 때 가장 잘하는 걸 알기에 또 이 느낌을 찾아보려 해 본다!

 

출처는 오른쪽 아래에..너무 적절한 짤이라 그만..

 

 

댓글