?
사용자
Python 함수 리팩토링 제안받기 프롬프트
기존 Python 함수의 가독성, 효율성, 유지보수성을 개선하기 위한 리팩토링 아이디어를 AI에게 요청할 때 사용합니다. 복잡한 함수를 더 나은 코드로 만들고 싶을 때 유용합니다.
#python#refactoring#prompt#code optimization
recipe.sh
다음은 my_module.py 파일에 있는 calculate_metrics 함수입니다. 이 함수의 가독성, 효율성, 유지보수성을 개선하기 위한 리팩토링 방안을 제안해 주세요.
```python
def calculate_metrics(data):
results = {}
total_sum = 0
count = 0
for item in data:
if item['value'] > 0:
total_sum += item['value']
count += 1
if 'category' in item:
if item['category'] not in results:
results[item['category']] = {'sum': 0, 'count': 0}
results[item['category']]['sum'] += item['value']
results[item['category']]['count'] += 1
average = total_sum / count if count > 0 else 0
category_averages = {}
for category, metrics in results.items():
category_averages[category] = metrics['sum'] / metrics['count'] if metrics['count'] > 0 else 0
final_report = {
'overall_average': average,
'category_averages': category_averages
}
return final_report
```
리팩토링 시 고려할 점:
1. **가독성**: 변수명, 로직 분리, 주석 추가 등을 통해 코드를 더 이해하기 쉽게 만드세요.
2. **효율성**: 반복문 최적화, 불필요한 연산 제거 등을 통해 성능을 향상시키세요.
3. **유지보수성**: 함수의 단일 책임 원칙 준수, 코드 중복 제거 등을 통해 수정 및 확장이 용이하게 만드세요.
4. **Pythonic**: 파이썬의 내장 함수나 라이브러리를 활용하여 더 간결하고 효율적인 코드를 작성하세요.
제안하는 리팩토링 코드와 함께 각 변경 사항에 대한 설명을 덧붙여 주세요.1
스크랩
6
좋아요
0
댓글