2022년 6월 29일 수요일

GitHub Copilot, 쓸수록 이거 물건이네.

 코드 제안을 해주는 것도 좋은데, 가끔 귀찮아서 만들지 않았던 함수들을 제안한다.


아래 클래스, 변수, 함수 이름들은 임의의 값. 리턴값과 함수 이름이 적절한(?) 의미가 있다. 예를 들어 ABC라는 클래스의 유틸리티 함수 run이 있고 이 함수의 리턴 값이 hour라면, 아래와 같은 상태에서:


ABC abc

hours = abc.run(...)


seconds = abc. 라고 입력하면 적절한 함수 이름을 제시. 예를 들면 abc.fly(...)라고 제안.


fly(...)는 ABC 클래스에 없는 함수인데, seconds를 리턴하는데 적절한(?) 함수 이다.


잠시 고민.

 

전에는 run()을 호출해서 가져온 값을 가공해서 seconds를 만들었는데..  그래.. 일하라고?  


fly() 함수를 추가. fly() 함수를 추가할 때도 기존 run() 함수의 형식과 유사하게 필요한 부분만 변경해서 제안해준다. 그리고, 기존 관련 코드 부분도 refactoring해서 fly()를 사용하도록 수정.


결정만 내리면 되는?? 이거 어디까지 갈지 궁금하다. 알파고도 처음에는 사람 기보를 연구하다가, 알파제로는 게임의 로직만 가지고 알파고를 넘어섰던데..