엉클 밥: "코드를 직접 짜던 시대는 끝났다"

1 week ago 11
  • "Clean Code"로 유명한 Uncle Bob이 AI가 개발자보다 압도적으로 빠르게 코드를 작성하는 시대가 왔음을 선언하며, 개발자의 역할 변화를 촉구
  • 하루 걸리던 작업을 AI가 5분 만에 완료할 수 있으므로, 개발자가 직접 코드를 작성하는 시대는 끝났음
  • 하지만 그게 개발자에겐 엄청난 힘을 주게되어, 예전에는 꿈도 못꾸던 일을 할 수 있게됨
  • 테스트 커버리지는 고통스러웠지만, 개발자는 AI에게 테스트 커버리지 확보를 지시하고, 뮤테이션 테스터를 활용해 테스트의 실질적 유효성을 검증할 수 있음
  • 순환 복잡도(cyclomatic complexity) 분석 도구와 결합해 AI가 코드 품질을 이전보다 훨씬 높은 수준으로 끌어올리도록 지시 가능

첨부된 영상의 스크립트

직시하자. AI가 여러분보다 몇 배는 빠르게 코드를 짠다. 여러분이 하루 걸릴 일을, AI는 5분이면 끝낸다. 끝났다. 여러분이 코드를 직접 짜는 시대는 끝났다. 알고 있다. 받아들여라.

그런데 말이다. 그게 오히려 여러분에게 엄청난 힘을 준다. 이제 전에는 꿈도 못 꿨던 일들을 할 수 있게 됐기 때문이다.

예를 들어 테스트 커버리지를 생각해보라. 얼마나 고통스러웠는지 안다. 그 지긋지긋한 테스트들을 다 작성해야 했다. 그런데 테스트가 있다고 코드가 제대로 돌아간다는 뜻도 아니었다. 코드 커버리지를 돌려놓고 슬쩍 웃으면서 "뭐, 그래, 근데 이게 코드가 동작한다는 건 아니지… 그냥 실행된다는 거지"라고 했다.

이제 그걸 고칠 수 있다. 마력(horsepower) 이 생겼으니까. AI에게 코드를 커버하라고 시키고, 그다음 뮤테이션 테스터를 돌려라. 그래, 그건 도구다. 그 도구도 AI한테 만들라고 시키면 된다. 5분이면 만든다. 그리고 AI에게 그 도구를 실행시킨다. 그 도구는 소스 코드에 변경을 가하고 모든 테스트를 돌린다. 테스트가 실패하지 않으면? 실패하게 만드는 테스트를 작성한다. 그러면 진짜 테스트 커버리지를 갖게 된다.

맹세코, 진짜 테스트 커버리지를 갖게 된다.

그리고 또 뭘 할 수 있는지 아나. 코드의 품질을 분석할 수 있다. 순환 복잡도를 살펴보는 도구를 작성할 수 있다. 사실 이미 훌륭한 도구가 있다. 20년 된 도구다. 이름이 CRAP이다. 좋은 이름이다. 뭐의 약자인지 모른다. 알고 싶지도 않다. 테스트 커버리지와 순환 복잡도의 조합이다. AI에게 CRAP 점수를 5 이하, 4 이하로 끌어내리라고 시킬 수 있다. 그러면 AI는 큰 함수를 잘게 쪼개고, 전부 테스트로 커버하게 된다.

생각해보라, 여러분이 가진 힘을. 이전에는 본 적 없는 수준으로 코드 품질을 끌어올릴 수 있다.

알고 있다. 나는 그 늙은 Clean Code 아저씨다. 하지만 솔직히 말하겠다. AI를 몰아서 일을 시키면, 여러분은 코드를 훨씬, 훨씬 더 깨끗하게 만들 수 있다.

Read Entire Article