?
사용자
Python 코드 리팩토링: 가독성, 효율성, 유지보수성 향상 AI 프롬프트
기존 Python 코드의 가독성, 효율성, 유지보수성을 개선하고 싶을 때 사용하세요. AI에게 코드 개선 방안을 제안받아 개발 생산성을 높일 수 있습니다.
#python#refactoring#ai#code quality#prompt engineering
recipe.sh
당신은 Python 코드 리팩토링 전문가입니다. 다음 Python 코드를 분석하여 가독성, 효율성, 유지보수성 측면에서 개선할 수 있는 부분을 찾고, 구체적인 리팩토링 제안과 함께 수정된 코드를 제공해주세요.
**개선 목표:**
1. **가독성 향상:** 변수명, 함수명 개선, 주석 추가, 코드 구조화 등
2. **효율성 증대:** 알고리즘 최적화, 불필요한 연산 제거, 라이브러리 활용 등
3. **유지보수성 강화:** 모듈화, 함수 분리, 객체 지향 설계 적용 등
4. **Pythonic 코드:** Python 언어의 특성을 살린 간결하고 명확한 코드 작성
**리팩토링할 Python 코드:**
```python
{{python_code}}
```
**추가 요구사항 (선택 사항):**
* 특정 라이브러리 (예: `numpy`, `pandas`) 사용을 고려해주세요: {{preferred_libraries}}
* 최적화 우선순위: {{optimization_priority}} (예: 성능, 메모리 사용량, 코드 길이)
* 코드의 특정 부분에 대한 집중적인 개선을 원한다면 명시해주세요: {{specific_focus}}
**출력 형식:**
1. **분석 및 제안:** 각 개선 목표별로 발견된 문제점과 구체적인 리팩토링 제안을 설명합니다.
2. **수정된 코드:** 제안된 내용을 반영하여 리팩토링된 Python 코드를 제공합니다.
3. **변경 사항 요약:** 주요 변경 사항과 그 이유를 간략하게 요약합니다.
**예시 입력:**
```python
def process_data(data_list):
result = []
for item in data_list:
if item % 2 == 0:
temp = item * item
result.append(temp)
return result
```
**예시 기대 출력:**
```text
**분석 및 제안:**
1. **가독성 향상:**
* 'data_list' 대신 'numbers'와 같이 좀 더 명확한 변수명을 사용할 수 있습니다.
* 'temp' 변수는 불필요하며, 바로 append 할 수 있습니다.
* 기능을 함수로 분리하면 재사용성이 높아집니다.
2. **효율성 증대:**
* List Comprehension을 사용하면 코드가 더 간결하고 Pythonic해지며, 종종 더 효율적입니다.
3. **유지보수성 강화:**
* 현재 코드는 단순하여 큰 문제가 없으나, 복잡해질 경우 함수 분리가 필수적입니다.
**수정된 코드:**
```python
def get_even_squares(numbers):
"""주어진 숫자 리스트에서 짝수의 제곱값만 포함하는 리스트를 반환합니다."""
return [num * num for num in numbers if num % 2 == 0]
```
**변경 사항 요약:**
* List Comprehension을 사용하여 코드를 한 줄로 압축하고 가독성과 효율성을 높였습니다.
* 'process_data'를 'get_even_squares'로 변경하여 함수의 목적을 명확히 했습니다.
* Docstring을 추가하여 함수 사용법을 설명했습니다.
```8
스크랩
16
좋아요
0
댓글