4.2.2 코드 인스펙션, 구체적으로 무엇을 하는가?
코드 인스펙션은 막연히 코드를 꼼꼼히 본다는 뜻이 아닙니다. 용이가 문제를 해결하기 위해 거쳐야 했던 과정을 정리해 보면, 코드 인스펙션이 실제로 무엇을 하는지 명확해집니다.
첫째, 코드의 의도를 파악합니다.
• 이 코드는 무엇을 하려고 만들어졌는가?
• 입력은 무엇이고, 출력은 무엇인가?
• 정상적인 경우, 이 로직은 어떤 순서로 실행되는가?
여기서 중요한 것은 코드가 어떤 로직으로 어떤 기능을 수행하는지를 개발자 스스로 설명할 수 있어야 한다는 점입니다. 코드의 전체 흐름을 따라가며 이 코드는 어떤 문제를 해결하려고 존재하는가를 말로 설명할 수 있어야 합니다. 용이의 경우, 분배 로직이 GPU 파드를 공정하게 분배한다는 목적을 가지고 있다는 점조차 명확히 설명하지 못한 상태였습니다. 이 단계가 빠지면 이후의 모든 디버깅은 방향을 잃습니다.