깔끔하고 읽기 쉬운 코드를 위해 Python에서 주석을 작성하는 방법

파이썬에서 효과적인 주석 작성법

파이썬에서 훌륭한 주석을 작성하는 것은 다른 개발자나 테스터가 코드를 더욱 쉽고 명확하게 이해할 수 있도록 돕는 중요한 요소입니다.

일관된 문법, 명확한 변수 이름, 적절한 들여쓰기를 갖춘 깔끔한 코드는 마치 잘 정리된 책과 같아서 쉽게 읽고 관리할 수 있습니다.

오늘날에는 한 사람이 전체 애플리케이션이나 소프트웨어의 코드를 모두 작성하는 경우는 드뭅니다. 대부분 팀이나 그룹으로 협력하여 동일한 목표를 추구합니다. 이 경우, 깨끗하고 읽기 쉬운 코드는 협업 과정을 훨씬 더 효율적이고 수월하게 만들어 줍니다.

개발자와 테스터는 항상 오류 없는 소프트웨어를 프로덕션 환경에 배포하는 것을 최우선 목표로 합니다. 깔끔하고 이해하기 쉬운 코드를 작성하면, 디버깅 과정이 더욱 간편하고 정확해져서 전체 프로세스 속도를 높일 수 있습니다. 설령 프로덕션 환경에서 오류가 발생하더라도, 잘 정리된 코드는 수정 및 업데이트가 더 쉽습니다.

더욱 중요한 것은, 깨끗하고 읽기 쉬운 코드는 시간이 지나도 쉽게 유지보수할 수 있어, 코드의 수명을 연장시킨다는 점입니다.

결국, 오래 지속되는 소프트웨어를 개발하기 위해서는 깔끔하고 이해하기 쉬운 코드가 필수적입니다. 그런데 이러한 목표를 어떻게 달성할 수 있을까요? 한 가지 방법은 바로 주석을 활용하는 것입니다.

복잡한 로직으로 작성한 코드를 다음 날 다시 봤을 때, 어디서부터 다시 시작해야 할지 막막했던 경험이 있으신가요? 주석을 작성하면 이러한 상황을 방지할 수 있습니다.

주석은 소스 코드가 수행하는 작업을 설명하는 인간의 언어입니다. 주석은 글로벌 언어처럼 어떤 언어로든 작성할 수 있지만, 특히 영어로 작성하는 것을 권장합니다.

따라서, 며칠, 심지어 몇 년 후에 소스 코드로 돌아와도, 주석을 통해 과거에 작성했던 내용을 쉽게 이해할 수 있습니다.

뿐만 아니라, 다른 개발자들도 당신의 코드를 쉽게 이해할 수 있도록 도와줍니다. 이것이 바로 주석이 잘 작성된 코드가, 작성자가 없어도 오랫동안 유지보수될 수 있는 이유입니다.

특히 팀으로 작업할 때, 여러 프로그래밍 언어를 다루면서 충돌이 발생하는 것은 매우 흔한 일입니다. 이럴 때 주석이 중요한 역할을 합니다. 팀원이 작성한 소스 코드의 프로그래밍 언어를 잘 모르더라도, 주석은 그 코드 뒤에 숨겨진 논리를 이해하는 데 도움을 줍니다.

코드 문서화는 소스 코드를 유지 관리하고 팀이 원활하게 협업할 수 있도록 돕는 더 포괄적인 방법입니다. 여기에는 디자인, 기능, 아키텍처, 구성 요소 등 코드와 관련된 모든 요소가 포함됩니다.

주석은 코드 문서화에 중요한 역할을 합니다. 잘 작성된 주석은 코드 문서에 직접 포함될 수 있어서, 개발자들이 코드의 작동 방식뿐만 아니라 그 이유와 목적까지 파악할 수 있도록 돕습니다.

  • 주석은 단순히 코드를 ‘읽는’ 것을 넘어, 각 코드 줄 뒤에 숨겨진 개발자의 의도를 파악하는 데 도움을 줍니다. 이를 통해 나중에 버그를 발견했을 때, 정확히 어느 부분을 수정해야 하는지 쉽게 알 수 있습니다.
  • 주석은 전체 코드에 대한 단락 형태로 작성할 수도 있고, 각 코드 블록의 기능을 설명하는 개별 줄 형태로 작성할 수도 있습니다. 이렇게 하면 본인뿐 아니라 다른 개발자들도 코드를 더 쉽게 이해할 수 있어서 가독성이 향상됩니다.
  • 주석을 활용하면 코드를 논리적인 섹션으로 나눌 수 있어서 코드 탐색이 훨씬 더 쉬워집니다.
  • 테스터가 코드를 이해할 수 있도록 예상되는 입력 값, 출력 값, 그리고 사용 사례를 자세하게 설명하는 주석을 추가해야 합니다.
  • 마지막으로, 코드 문서에 잘 작성된 주석을 추가하면 코드 문서의 전반적인 가독성이 향상됩니다.

파이썬에서 주석은 해시(#) 기호로 시작합니다. 즉, 해시(#) 기호로 시작하는 줄은 모두 주석으로 처리됩니다.

코드를 실행할 때, 컴파일러는 해시(#) 기호로 시작하는 줄을 마치 존재하지 않는 것처럼 무시합니다. 그러나 주석은 소스 코드에 남아 있어 목적을 달성하는 데 기여합니다.

주석에는 세 가지 주요 유형이 있습니다.

위에서 언급한 주석이 바로 첫 번째 유형입니다. 해시(#) 기호로 시작하는 한 줄 주석입니다. 해시(#) 기호로 시작하는 줄은 오로지 주석만을 위한 것입니다. 따라서 이 주석을 ‘한 줄 주석’이라고 부르는 이유는, 해시(#) 기호로 시작하는 한 줄에만 주석을 작성할 수 있기 때문입니다.

한 줄 주석을 작성하는 방법은 다음과 같습니다.

# 이것은 한 줄 주석입니다.

엄밀히 말하면, 파이썬은 여러 줄 주석을 직접적으로 지원하지 않지만, 파이썬에서 여러 줄 주석을 만드는 방법이 있습니다.

해시(#) 기호를 사용하여 여러 줄의 주석을 작성할 수도 있습니다. 이 경우, 작성하는 모든 줄은 해시(#) 기호로 시작해야 합니다.

# 이것은 첫 번째 주석입니다.
# 이것은 두 번째 주석입니다.
# 이것은 마지막 주석입니다.

#3. 파이썬 독스트링

여러 줄 주석을 작성하는 또 다른 일반적인 방법은 문자열 리터럴(“””…”””)을 사용하는 것입니다. 세 개의 따옴표 사이에 내용을 작성하면 파이썬 컴파일러는 해당 줄을 무시하고 파일의 나머지 부분을 실행합니다.

이러한 주석을 함수, 모듈, 클래스 바로 다음에 작성하면 이를 ‘독스트링(docstring)’이라고 부릅니다.

독스트링을 사용하는 문법은 다음과 같습니다.

""" 파이썬에서 독스트링을 이용한
여러 줄 주석 작성 예시입니다. """

명확하고 자세한 주석을 작성하면 코드의 가독성과 유지보수성이 크게 향상됩니다. 다음은 파이썬에서 명확한 주석을 작성하기 위한 몇 가지 모범 사례입니다.

주석은 단순히 코드가 ‘무엇을’ 하는지 설명하는 것을 넘어, 각 코드 줄 뒤에 숨겨진 ‘목적’과 ‘의도’를 나타내야 합니다.

오래된 주석을 삭제하고, 코드를 수정할 때마다 주석도 함께 업데이트해야 합니다.

장황한 설명 대신 간결하고 핵심을 찌르는 주석을 작성해야 합니다.

나쁜 예시: 이 함수는 a와 b를 입력으로 받아, a + b를 계산하고 그 값을 반환합니다.
좋은 예시: 이 함수는 a와 b의 합을 반환합니다.

변수 및 함수 이름에 의미 있고 설명적인 이름을 사용하면 불필요한 주석을 줄일 수 있습니다.

코드를 먼저 작성해야 할까요, 아니면 주석을 먼저 작성해야 할까요? 코딩하기 전에 주석을 먼저 작성하는 것이 가장 좋습니다. 즉, 주석을 먼저 작성하고 그에 맞춰 코드를 작성해야 합니다. 이렇게 하면 논리를 먼저 생각하고, 그것을 코드로 구현할 수 있습니다.

# cnt가 1보다 작으면 true를 반환합니다.
return cnt < 1

전체 코드에 대해 일관된 주석 스타일을 유지하는 것이 중요합니다. 예를 들어, 간격, 들여쓰기, 주석 유형 등을 통일하여 사용해야 합니다. 이렇게 하면 코드를 읽는 사람들이 덜 혼란스러워하고 코드를 더 체계적으로 이해할 수 있습니다.

다음 예시처럼 독스트링을 사용하여 파이썬의 함수와 클래스를 설명할 수 있습니다.

def add_num(a,b):
    """ 이 함수는 a와 b의 합을 반환합니다. """
    sum = a+b
    return sum

코드에서 불필요한 주석은 피해야 합니다. 예를 들어, 아래와 같은 코드는 주석 없이도 충분히 이해할 수 있습니다.

ans = 42

#1. Visual Studio Code 에디터

Visual Studio Code 에디터는 마이크로소프트에서 개발한 훌륭한 통합 개발 환경(IDE)입니다. Node.js와 JavaScript를 기본적으로 지원하며, 다른 다양한 프로그래밍 언어도 원활하게 지원합니다.

뛰어난 사용자 정의 기능을 제공하는 이 도구는 다양한 기능을 확장할 수 있는 많은 확장 기능을 제공합니다. ‘Better Comments’는 사람이 이해하기 쉬운 주석을 작성할 수 있도록 도와주는 확장 기능 중 하나입니다.

주석을 알림, 질의, 하이라이트 등으로 분류하여 쉽게 탐색할 수 있도록 지원합니다.

VS 코드는 다중 커서 편집 기능을 제공하여, 여러 줄의 주석을 동시에 처리하거나 편집할 수 있습니다.

이 에디터는 Mac, Windows, Linux와 같은 모든 주요 플랫폼에서 사용할 수 있습니다.

#2. Sublime Text

Sublime Text는 대규모 프로젝트와 복잡한 코딩 작업에 적합한 에디터입니다. 속도, 사용자 정의 기능, 그리고 바로 가기 기능으로 유명합니다.

이 도구의 강력한 구문 강조 기능을 사용하면 코드와 주석을 쉽게 구분할 수 있습니다.

VS 코드와 마찬가지로, Sublime Text도 여러 줄에 동시에 주석을 달 수 있는 다중 커서 편집 기능을 제공합니다.

자동 완성 기능 덕분에 코드 줄을 수동으로 반복해서 작성할 필요가 없습니다. 이 기능은 패턴을 기반으로 코드를 자동으로 완성하여 코딩 속도를 높이는 데 도움을 줍니다.

또한, 이 도구의 ‘Goto Anything’ 기능을 사용하면 프로젝트의 여러 기능과 파일 간을 자유롭게 이동할 수 있습니다.

#3. 메모장++

메모장++는 C++로 작성된 인기 있고 간단한 텍스트 편집기로, 다양한 프로그래밍 언어를 지원합니다. VS Code나 Sublime Text와 같은 최신 에디터만큼 화려하지는 않지만, 인터페이스가 매우 단순하고 필요한 기능들을 잘 갖추고 있습니다.

메모장++는 효율적인 주석 작성을 위한 다양한 표준 단축키를 제공합니다. 또한 바로 가기 키보드를 사용자 정의하여 주석 작성 환경을 개인화할 수도 있습니다.

문서 맵 기능은 프로젝트 구조를 한눈에 보여주므로, 파일, 폴더, 코드를 효율적으로 탐색할 수 있도록 도와줍니다.

#4. Vim

Vim은 빠른 개발과 코드 실행을 제공하는 IDE입니다. 이 에디터에서는 키보드 단축키를 사용하여 모든 작업을 수행할 수 있으므로, 익숙해지기 위해 어느 정도의 노력이 필요합니다.

이 키보드 중심의 에디터는 키보드 단축키를 통해 다양한 주석 관련 기능도 제공합니다. 주석을 효과적으로 탐색할 수 있도록 다양한 기능과 명령어를 제공합니다.

이 가벼운 소프트웨어는 대용량 파일과 수백 가지 프로그래밍 언어를 처리할 수 있습니다. Vim은 완전 무료이며 오픈 소스입니다.

macOS와 Linux 시스템에 기본으로 제공되며, Windows에서도 다운로드하여 사용할 수 있습니다.

#5. PyCharm

PyCharm은 파이썬 개발을 위해 특별히 설계된 강력한 IDE입니다. 다른 프로그래밍 언어도 지원하지만, 파이썬에서 가장 뛰어난 성능을 보여줍니다. 파이썬에 특화된 코드 완성, 구문 강조, 디버깅 기능을 제공합니다.

또한 파이썬에서 주석 작성을 훨씬 효율적으로 만들 수 있도록 다양한 기능을 제공합니다. 특정 주석으로 쉽게 이동할 수 있도록 탐색 기능도 제공합니다.

PyCharm에서 다양한 주석 템플릿을 활용하고, 사용자 정의 주석 템플릿을 효율적으로 만들어보세요.

또한 편집기의 리팩토링 도구를 사용하면 주석을 쉽게 업데이트하거나 수정할 수 있습니다.

결론

모든 개발자와 테스터가 코드를 읽을 수 있어야 합니다. 따라서 코드 표준을 준수하는 것은 전체 코드 개발 프로세스에서 반드시 필요하며, 프로덕션 준비가 된 코드를 작성하는 데 필수적입니다.

읽기 쉬운 코드를 만드는 중요한 방법 중 하나가 바로 주석 작성입니다. 주석은 거의 모든 프로그래밍 언어에서 사용할 수 있습니다. 이 글을 통해 여러분은 파이썬에서 주석을 작성하는 방법, 주석의 유형, 그리고 주석 작성 시 따라야 할 모범 사례를 이해하셨을 것입니다.

또한, 주석 관리에 도움이 되는 최고의 코드 편집기들도 소개했습니다.