728x90

클린코드란?

클린 코드는 소프트웨어 개발에서 가독성이 높고 유지보수가 쉬운 코드를 작성하는 데 초점을 둔 개념

  • 클린 코드의 주요 특징
    • 가독성 : 다른 사람이 이해하기 쉬워야 함
    • 단순성 : 가능한 간결하고 단순해야 함
    • 테스트 용이성 : 테스트 가능한 코드를 작성하는 것이 중요함
    • 모듈화 : 코드를 작은 모듈로 분할하여 각 모듈이 독립적으로 테스트하고 유지보수 할 수 있도록 해야 함
    • 중복 최소화 : 중복을 최소화하여 일관성을 유지하고 유지보수를 용이하게 해야 함
    • 설계 패턴 활용 : 적절한 설계 패턴을 활용하여 코드의 유연성과 확장성 향상
  • 클린코드의 효과
    • 코드의 신뢰성 향상
    • 신속한 개발과 지속적인 배포 가능
    • 코드가 작성된 후에도 코드를 이해하고 수정하는 데 드는 비용을 최소화
  • 클린코드를 준수하지 않아도 되는 경우 (예외상황)
    • 다시 사용하지 않을 코드이며 좋은 품질의 코드가 아니어도 큰 무리가 없는 상황

코드 포매팅이란?

코드 포매팅은 클린 코드 작성에서 중요한 부분 중 하나

코드 포매팅은 코드의 모양과 구조를 일관되게 유지하여 가독성을 향상시키고 코드베이스의 일관성을 유지하는 데 도움을 줌

  • 코드 포매팅의 효과
    • 가독성 향상 : 일관된 들여쓰기, 공백 사용, 줄 바꿈 등은 코드를 읽는 사람이 코드를 쉽게 이해할 수 있도록 도와줌
    • 일관성 제공 : 코드베이스 내에서 일관된 스타일을 유지함으로써 여러 명의 개발자가 작업할 때 혼동을 줄이고 코드를 이해하기 쉽게 만듦
    • 버그 방지 : 올바른 코드 포매팅은 실수를 줄이고 버그를 방지하는 데 도움이 됨
    • 협업 용이성 : 일관된 코드 포매팅은 팀원 간의 코드리뷰, 협업을 용이하게 만들어 효율성을 높임
    • 자동화된 도구와 통합 : 코드 포매팅 규칙을 자동화된 도구와 통합하면 코드베이스에 일관된 스타일을 적용할 수 있어, 개발자가 수동으로 코드를 정리하는 시간과 노력을 줄여줌

파이썬에서의 코드 포매팅 PEP-8

띄어쓰기, 네이밍 컨벤션, 줄 길이 제한 등의 파이썬 코드 스타일 가이드라인을 제공

  • PEP-8 주요 권장사항
    • 들여쓰기 : 공백 4칸을 사용하여 코드 블록을 들여쓰기
    • 줄 길이 : 한 줄의 길이를 79자로 제한
    • 빈 줄 : 함수 정의와 클래스 정의 사이, 클래스 메서드 사이에 빈 줄 삽입
    • import 문 : import 문을 알파벳 순서로 그룹화하여, 각 그룹 사이에 빈 줄을 삽입
    • 공백 : 함수 정의와 호출 시 인수들 간에는 공백 제외, 연산자 주변과 쉼표 뒤에는 공백 삽입
    • 명명 규칙 :
      클래스 이름은 카멜케이스를 사용하고, 모듈 수준의 상수는 대문자와 밑줄을 사용
      함수, 변수, 메서드는 소문자로 구성하고 필요한 경우 단어 사이를 밑줄로 구분
    • 주석 : 주석은 문장의 첫 글자를 대문자로 시작하고 마침표로 끝내며, 코드와 함께 사용하는 것이 아니라면 최대한 지양
    • docstring : 모듈, 함수, 클래스에는 문서화 문자열(docstring)을 포함하여 기능과 사용법을 설명

파이썬 코드 개선/유지 도구

  • 데이터 타입 일관성 검사 도구 : mypy (annotation이 정확히 작성 되어 있어야 함)
  • 코드 품질 검사 도구 : pylint, flake8, pycodestyle(pep8)
  • 포매팅 도구 : black
728x90

+ Recent posts