간단한 개발 회고
잔디와 연속이 말썽입니다. 달력과 관련된 코드는 의외로 정말 어려워요. 방심하고 여지없이 버그가 나오는 경험을 몇번 했네요.
원래는 쉬운 방법으로 땜빵을 해두었는데요. 이번에 복구 기능을 추가하다보니, 꽤나 케이스가 복잡해졌습니다.
일단 글 기록과 잔디 심기가 동일한 개념이었으나 분리가 되었고요. 복구가 되었을 때 잔디 모양에도 영향을 주게 되었습니다. Posting 과 contribution을 분리해야하고, 또 그 contribution과 잔디 grid가 구분돼요. 원래는 그냥 다 하나의 덩어리 같은 느낌이었거든요.
이런 걸 알고 개발했다고 생각했습니다. 이번에는 나름 테스트 코드도 열심히 짰습니다. 용기있게 배포했는데.. 역시 완벽하진 않네요.
개발을 하다보면, 가장 경계해야하는 게 한번에 할 수 있을 것 같은 마음인 것 같아요. 하는 김에 이것도, 이것도 한번에 하면 깔끔할 것 같거든요.
중간에 거지존을 만들지 않고 싶은 느낌이랄까요. 한번에 잘 되면 필요없는 것들인데..
코드가 나가서 버텨야할 세상은 늘 생각보다 강하더라고요. 한번에 잘 되지 않아요.
그래서 겸손하게 안전하게 쪼개나가고, 지저분한 안전장치들이 덕지덕지 달려있는 거지존을 잘 견뎌야 합니다.
같은 원리로 AI가 만드는 코드에 너무 의존하면 비슷한 상황이 생겨요.
AI가 정말 코딩을 잘해졌죠. 하지만 매글프 정도 크기만 되어도 전체 컨텍스트를 파악하기에는 부족합니다. 빨리 가려고 무작정 쓰다가는 내가 손댈 수도 없는 코드가 돼버려요.
AI라는 힘을 잘 컨트롤해서 단계를 매듭지어주고 잘할수 있는 크기로 초점을 잡아줘야해요. ‘글쓰기 앱 구현해줘’ 하면 목적을 가장 빠르게 달성하는 것 같아서 유혹적입니다. 근데 오히려 훨씬 느리게 가요.
마음이 급해도 단계적으로 잘 쪼개야 하고. 중간중간 되돌리기 쉽게 해두고 잘 안됐을 때 방지책 만들고. AI 시대에도 여전히 기본 원칙은 똑같더라고요.
일단 잘 되면 필요없는 거 아니야? 싶어서 항상 생략하고 싶어지는데요. 그래도 안전벨트랑 브레이크 살뜰히 챙기는게 결국 생산성일 때가 많습니다.