삽질/개발,엔지니어링

[copilot 사용기] 1. 단순 반복 작업

maengis 2023. 1. 10. 10:43

전에 코파일럿을 찍먹 해본 적이 있었는데, 신기하긴 했지만 그다지 유용하다고 느끼지는 못 했는데, 회사에서 코파일럿을 한 달간 써보게 해준다고 해서 팀장님 권유로 신청했다.

 

처음 사용하게 된 업무는 이미 개발은 완료 되었으나 좀 더 퍼포먼스를 올리기 위해 코드를 개선하는 건이었고, 말이 개선이지 사실 단순 반복 작업에 가까웠다.

 

기존에 서버별 + 명령어별로 실행 결과를 담고 있었는데, 동일한 서버 + 명령어가 중복이 돼서 이걸 하나로 합치려고 실행 결과를 서버 + 명령어 단위로 바꾸는 코드를 작성하니 위처럼 코파일럿이 작성하려는 코드를 예상해서 보여줬다. 이 상태에서 탭키를 누르면 입력이 되는데, 내가 작성하려던 코드와 얼추 비슷하다.

 

되도 않는 코드를 제안하기도 하지만, 어차피 내가 쓸 생각이 없으면 안 써도 되는데, 인덴트 때문에 탭을 눌러야 할 때는 위처럼 코파일럿이 제안한 코드가 들어가서 지우고 작성해야 되는 경우가 생긴다.

뭔가 필받아서 와다다다 코딩 할 때는 거슬릴 거 같다.

 

처음부터 쭉 작성하는 코드가 아니라, 이미 작성되어 있는 걸 변경하려고 할 때는 내 의도를 70~80%정도는 맞추는 거 같다.

 

대충 뭘 넣으려는 건지도 기존에 작성한 코드를 기반으로 제안을 해주는데, 저렇게 써도 되긴 하지만, 유지보수나 코드 가독성을 위해서라도 저렇게 쓰면 안 된다. 그래서 결국 내가 원하는 코드로 작성을 하는데, 이부분도 코파일럿이 인지를 하고나면 내가 작성한 코드에 맞게 제안을 해준다.

 

하다보니 신기해서 이놈봐라... 그럼 이건 뭘 제안할 거지? 싶어서 떠보면

 

이런 식으로 '혹시 이거니?' 싶은 걸로 제안을 한다. 아마 front라는 키가 있는 배열이 저 코드 보다 위에 있어서 그런 게 아닐까 싶다.

 

이후 가장 편했던 건, 반복 되지만 조금씩 변수가 다른 경우인데, 키 값이나 배열 구성이 조금씩 달라서 좀 귀찮다 싶은 작업이라 몇 번 하다가 혹시 되나 싶어서 해보니

 

위처럼 잘 되었다.

 

문제라고 할만한 게 있다면, 결국 내가 잘못 쓴 걸 그냥 냅둔다는 건데, ${E까지 작성한 상태에서 제안한 코드를 사용하면 맞는 걸 쓰지만, {를 빼먹고 $E만 써도 코드를 제안해주는데, 그게 {만 빠지고 제안한 코드는 맞다는 거다.

그래서 제대로 확인 안하고 그냥 넘어가면, 위처럼 {가 빠진 상태로 사용하게 된다. 결국 얘도 사람이 잘못하는 것까지 보정하는 건 아니라는 얘기.

위처럼 잘 해주다가 갑자기 패턴이 바뀌니 제대로 적용이 안 되어서 온전히 믿고 쓰기에는 무리가 있었다. (물론 이것도 계속 하다보니 내가 원하는 걸 제안해주긴 했다.)

 

쓰다보니 코드를 조금 치고 탭을 누를 준비를 하게됐다. 살짝 굼뜨게 코드를 제안해줄 때마다 '빨리 좀 해줘~' 싶었다.

 

회사 업무용으로 쓰기에는 괜찮은 것 같다. 개인 프로젝트나 삽질할 때 쓰기에는 뭐랄까 굳이 이걸 돈 주고? 이런 느낌인데, 업무용으로 쓴다고 생각하니 업무 효율이 측면에서 확실히 삶의 질이 개선되는 거 같았다. 레거시 서비스를 맡고 있는 상황이다보니 어쩌면 더 좋게 받아들인 걸지도 모르곘다.

반응형