본문 바로가기
기타 개발관련

Chat GPT로 리팩토링 하고 느낀 점(1)

by Minius 2023. 10. 16.
반응형

Chat GPT에게 코드를 주면, 언어모델이라 그런지 부자연스러운 변수명, 함수명을 더 자연스럽게 만들어준다.

 

예를 들어 Angle을 평균내는 메소드이면

 

변경 전) AngleAverage

변경 후) CalculateAngleAverage

 

이렇게 더 명확하게 이름을 바꾸어준다.


또한

180 / Math.PI

이 계산식이 무엇을 의미하는지 알고 있어서 아무 설명없이 코드에 있더라도 따로 상수로 빼준다.

 

변경 전)

// 180 / Math.PI = 각도를 라디안으로 변환
var sintotal = values.Sum(d => Math.Sin(d / (180 / Math.PI)));
var costotal = values.Sum(d => Math.Cos(d / (180 / Math.PI)));
var avg = Math.Atan2(sintotal, costotal);

 

변경 후)

const double degreesToRadians = Math.PI / 180;

double sumOfSine = values.Sum(d => Math.Sin(d * degreesToRadians));
double sumOfCosine = values.Sum(d => Math.Cos(d * degreesToRadians));

double averageInRadians = Math.Atan2(sumOfSine, sumOfCosine);

 

댓글