무언가 새로운 것을 개발할 때, 첫번째 단계가 무엇일까요? 그것은 바로 아무것도 하지 않는 것입니다. 이러한 접근법은, 우리가 적어도 좋은 위치에서 시작하고 있음을 확인할 수 있는 발판을 제공합니다. 만약 특정 작업을 수행하는 컴포넌트를 구축하는 것이 목표라면, 다음과 같은 단계를 거치게 될 것입니다:
1. 단계 제로: 먼저, 작업을 수행하는 독립 실행 형태의 프로그램을 작성합니다. 이를 통해 우리는 그 작업이 실제로 수행 가능한지 확인할 수 있습니다.
2. 작업을 수행하는 코드를 완성한 후, 아무런 동작을 수행하지 않는 컴포넌트를 작성합니다. 이를 통해, 적어도 컴포넌트 구축 방법을 이해할 수 있게 됩니다.
3. 다음 단계는, Invoke 메서드를 통해 컴포넌트를 작업에 등록하지만, 그 외 어떠한 작업도 수행하지 않고 디버거에 "예이!"라는 메시지만 출력하도록 설정하는 것입니다. 이렇게 하면, 우리는 컴포넌트가 적절한 시기에 동작을 수행하도록 설정하는 방법을 배울 수 있습니다.
4. 이어서, Invoke 메서드에 충분한 코드를 추가하여 어떤 동작을 수행할지, 그리고 어떤 객체에서 그 동작을 수행할지 식별하게 합니다. 그 다음 이 정보를 디버거에 출력하고 실제 동작은 수행하지 않고 반환합니다. 이를 통해 우리는 어떤 작업을 수행해야 하는지 판단할 수 있게 됩니다.
5. 마지막으로, 원하는 객체에서 작업을 수행하기 위해 Invoke 메서드의 나머지 부분을 완성합니다. 이를 위해 0단계에서 이미 디버그한 코드를 복사/붙여넣기하면 됩니다.
관찰해보면, 상대적으로 경험이 부족한 개발자들이 종종 복잡한 코드 작성을 시작하면서 어려움에 봉착하는 경우가 많습니다. 그들이 만드는 코드가 너무 복잡하고 거대하므로, 컴파일마저도 할 수 없게 되는 경우를 자주 보게 됩니다. 그들이 "이 한 줄의 코드에서 문제가 생겼어요."라며 도움을 청하면, 실제로는 그 한 줄의 코드가 문제가 아니라는 것을 알 수 있습니다. 왜냐하면 프로그램이 그 코드 한 줄을 실행할 수 있는 단계에 도달하지도 못했기 때문입니다. 이런 경우, "어떻게 이 지경까지 오게 됐을까?"라는 생각을 하게 됩니다.
따라서, 아무것도 하지 않는 것부터 시작하는 것이 중요합니다. 아무것도 하지 않는 상태에서 성공적으로 실행되는지 확인하고, 그 후에 무언가를 실행하도록 변화를 주는 것이 바람직합니다. 이렇게 하면, 문제가 발생할 경우 그 문제가 무엇을 시도하려고 했을 때 생긴 것이라는 것을 명확하게 알 수 있게 됩니다.
성공적인 코딩 전략에 흥미가 생겼다면? 천재IT교육센터 에듀테크 Java 풀스택 과정에서 꿈을 펼쳐보세요! 신청기간 ~8/31, 현재 모집중! 더 알아보기