AI 코드툴, 이렇게 하면 소프트웨어 개발 효율 높인다
오영주
ohyj87@naver.com | 2021-12-16 13:29:30
소프트웨어 애플리케이션을 처음 접하는 개발자들은 몇 달에서 심지어 몇 년의 현장 훈련을 필요로 한다. 코드에서 기능의 진정한 의도를 파악하는 것이 쉽지 않기 때문이다. 개발자들은 변경 또는 현대화되어야 하는 기능을 나타내는 코드를 식별하기 위해 소스 코드를 검색하는 데만 75%의 시간을 소비하는 것으로 나타났다.
물론 개발자의 작업 효율을 높이기 위한 툴들도 있다. 코드 검색 도구, 린터, 정적 및 동적 분석 도구 등이 이에 해당한다. 하지만 주의를 요하는 코드의 특성을 실제로 식별하는 데는 불충분하다는 의견도 있다.
AI 역시 현재 채택된 접근방식으로는 아직까지 부족한 점이 많다. 하지만 새로운 접근 방식을 채택하면 개발자의 효율을 높일 수 있다고 스티브 브라더스(Steve Brothers) 패스 체인지 소프트웨어(Phase Change Software) 대표는 말한다. 그에 따르면, 작업과 관련된 특정 코드 라인을 효율적으로 식별할 수 있는 능력이 크게 향상돼 엄청난 시간을 할애하지 않아도 된다.
스티브는 "AI가 구동하는 툴이 소스 코드 전반에 걸쳐 동작 하나하나를 알게 되면, 주변 코드를 모두 검색하여 파악하지 않고도 변경해야 할 코드에 대해 개발자와 '협조'할 수 있다"면서 "이런 식으로 AI를 활용하면 개발자 생산성이 크게 향상된다"고 전했다.
개발자가 지식 저장소에 특정 행동 코드에 대하여 물어볼 수 있게 하는 AI는 개발자가 관련 코드만을 다룰 수 있도록 도와줌으로써 전체 시스템을 망가뜨리지 않고 수정할 수 있는 가능성을 높여준다. 더 좋은 것은 개발자가 코드를 다시 작성하거나 체크인하지 않고 코딩하는 동안 변경사항을 제안할 수 있다는 점이다. 이때 AI는 변경사항의 분리 여부를 검증해 위험을 완화한다. 이 기능도 AI가 코드를 확인하도록 해 향후 거동이 절대 변하지 않을 것임을 보장함으로써 CI/CD 파이프라인으로 확장된다.
스티브는 “이러한 방식으로 AI를 채택하는 것은 개발자가 중요한 코드에만 초점을 맞추도록 돕는다”면서 ”코드 검색 도구, 라이너 및 정적 및 동적 분석 도구와는 달리, AI는 궁극적으로 개발자가 필요한 모든 변경을 안전하고 효율적이며 효과적으로 수행할 수 있도록 지원할 수 있다"고 전했다.
[ⓒ CWN(CHANGE WITH NEWS). 무단전재-재배포 금지]