깨끗하고 효율적이며 유지 관리가 가능한 코드 - Python을 사용 사례로 작성
한동안 개발자였다면 작동하는 것을 서둘러 작성하는 것보다 적절한 코딩이 얼마나 중요한지 이해할 수 있을 것입니다. 이로 인해 발생하는 가장 큰 장애 중 하나는 코드를 검토해야 할 때 수행하려는 작업을 거의 이해하지 못하고 다른 사람들이 코드를 읽는 데 어려움을 겪는다는 것입니다.
최근 몇 가지 코드를 검토했는데 깔끔하고 효율적인 코드의 필요성을 강조하는 것이 중요하다고 생각합니다.
C 프로그래밍 언어가 인기를 끌던 1970년대 초 코딩 스타일이 논의의 대상이 되었고 이와 관련하여 주목할만한 두 사람이 Brian Kernighan과 Dennis Ritchie였습니다.
흥미롭게도 Ada 언어는 1980년대 후반에 엄격한 코딩 지침과 표준을 시행했습니다. 1990년대 중반 Python과 Java는 초기 단계부터 강력한 코딩 규칙을 가지고 등장했으며 Python Enhancement Proposal(PEP 8)이 잘 채택되어 오늘날에도 여전히 유효한 코딩 규칙입니다.
VS Code의 flake8 코드 린팅 확장은 제가 사용하는 훌륭한 선택입니다.
지침은 다음과 같습니다.
들여쓰기: 들여쓰기 수준당 공백 4개를 사용합니다.
줄 길이: 모든 줄을 최대 79자로 제한하세요.
명명 규칙: 함수 및 변수 이름에는 snake_case를 사용하고 클래스 이름에는 CamelCase를 사용합니다.
예:
`# defining variables using snake_case total_price = 100 customer_email = "customer@example.com" # defining functions using snake_case def calculate_total_price(): pass class OrderManager: pass`
2. 의미 있는 설명 및 문서: Docstring은 개발자가 함수/메서드 목적, 매개변수 및 반환 값을 이해하는 데 도움이 됩니다. 복잡한 논리나 결정을 명확히 하기 위해 이를 소개하고 의견을 작성하는 것이 일반적으로 좋은 습관입니다
예:
def calculate_total_price(price: float, quantity: int) -> float: """ Calculate the total price of items. Args: price (float): The price of a single item. quantity (int): The number of items purchased. Returns: float: The total price. """ return price * quantity
**3. 코드 반복: **간단한 경험 법칙에 따르면 이미 구현된 코드를 반복하지 말고 대신 재사용 가능한 기능을 만들어 DRY 원칙을 따르세요. 이에 대한 주의사항은 새로운 개발자가 변경 사항을 구현할 때 누락된 중복 코드가 있다는 것을 개발자가 알지 못하고 이 오류로 인해 많은 문제가 발생할 수 있다는 것입니다.
예를 들어 전자상거래 상점의 가격과 수량을 곱하여 총 가격을 계산하는 함수가 있습니다.
total_price_laptops = 1000 * 2 total_price_phones = 500 * 3 This, is easily done with reusable functions like this: def calculate_total(price, quantity): return price * quantity total_price_laptops = calculate_total(1000, 2) total_price_phones = calculate_total(500, 3)
4. 유형 힌트: Python은 동적으로 유형이 지정되는 언어입니다. 유형 힌트를 사용하면 코드의 가독성이 향상되고 오류를 조기에 포착할 수 있습니다. 어떤 데이터 유형이 예상되는지 이해하는 것이 더 쉽습니다.
예:
def get_discounted_price(price: float, discount: float) -> float: return price - (price * discount)
**5. 테스트 작성: **테스트는 코드의 기능을 검증합니다. Unittest 또는 pytest와 같은 널리 사용되는 프레임워크를 사용하면 테스트 작성 및 실행이 간단해집니다. 테스트는 코드가 예상대로 작동하는지 확인하여 변경이나 리팩터링 시 버그가 발생할 위험을 줄입니다.
def test_calculate_total_price(): assert calculate_total_price(100, 2) == 200
6. 예외: 프로덕션 코드가 클라이언트 사용자에게 의미 없는 코드 줄을 인쇄하거나 더 나쁜 경우 환경 변수를 출력하는 경우 당혹스러울 수 있습니다. 예측 가능한 오류를 관리하고 애플리케이션이 예기치 않게 충돌하지 않도록 하기 위해 예외 try/제외/최종 처리를 사용하면 이를 방지하는 것이 더 쉽습니다.
try: value = int(input("Enter a number: ")) except ValueError: print("That's not a valid number!") finally: print('Thank you!')
7. 코드 모듈화: 코드를 하나의 파일에 보관하라는 규칙은 없습니다. 큰 코드 블록을 더 작고 재사용 가능한 모듈로 나누고 필요한 경우 애플리케이션 전체에서 가져옵니다. 테스트와 업데이트가 더 쉽습니다.
8. 버전 관리: Git과 같은 버전 관리 시스템은 현대 개발의 기본적인 모범 사례입니다. 다른 것들은 Beanstalk, PerForce, Apache Subversion입니다. 버전 관리를 통해 변경 사항을 추적하고 공동 작업 중 인적 오류와 의도하지 않은 결과를 크게 줄일 수 있습니다.
PEP 8 준수, 코드 DRY 유지, 의미 있는 문서 작성, 예외 처리와 같은 모범 사례를 따르면 Python 프로젝트가 전문적이고 확장 가능하며 유지 관리가 용이하도록 할 수 있습니다.
오늘부터 이 팁을 구현하기 시작하면 코드 품질이 눈에 띄게 향상되는 것을 확인할 수 있습니다.
위 내용은 사용 사례로 깨끗하고 효율적이며 유지 관리가 가능한 코드 - Python을 작성합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!