더북(TheBook)

2. 동시성 관점의 코드 리뷰

용이의 문제처럼 비동기 환경에서 발생하는 논리 오류는, 코드만 봐서는 발견하기 어렵습니다. 그럴 때 AI에게 이렇게 물어보면 좋습니다.

입력

이 코드가 동시에 여러 번 호출되면 어떤 문제가 생길 수 있어?

레이스 컨디션이 발생할 수 있는 지점을 찾아 줘.

출력

• 상태 확인과 상태 변경 사이에 다른 요청이 끼어들 수 있음

• 공유 리소스에 동시 접근할 경우 충돌 가능성 존재

• 동일한 리소스에 중복 할당이 발생할 수 있음

AI는 코드에서 상태 확인, 공유 자원 접근 지점과 같이 의심해야 할 구간을 짚어 줍니다. 모든 문제를 찾아 주지는 않지만, 검증 범위를 크게 좁혀 주는 효과가 있습니다.