Python/파이선과 친해지기

[Python] - Python과 매우 친해지기-주석

주석은 프로그래밍에서 어려운 문법을 가지고 있는 것도 아니고, 프로그램의 실행시간의 지대한 영향을 끼치는 것도 아니다. 그런데 왜 필자는 주석을 Python과 친해지기 포스팅이 아닌 Advanced버전인 Python과 매우 친해지기에 올렸을까? 아래의 두 가지 이유가 있다.

 

1. 주석은 프로그래머들 사이의 협업의 규약이기에 매우 중요하므로, 이는 어느 정도 실력이 보증된 프로그래머가 작성해야된다.
2. 필자는 까먹었다.

 

자 그럼 Python세계의 주석을 알아보도록 하자


주석(Comment)

주석은 프로그램의 실행에 영향을 미치지 않으며, 프로그래머가 필요에 의해서 코드에 추가적인 정보를 입력하는 것이다.

Python에서는 다음과 같은 방법으로 주석을 남길 수 있다.

 

한 줄 주석(#)

def comment(value) :
    print(value)	# 한줄의 주석을 추가합니다.

 

여러 줄 주석(''' ~ ''')

def comment(value) :
    print(value)

'''
여러줄의 주석을 추가하는
방법은 작은따옴표
세개를 연달아 쓰는것입니다.
끝내는 방법도 동일합니다.
'''

 

훌륭한 주석에 대한 고찰

좋은 주석은 무엇일까? 보기에 번잡스럽지 않으면서도, 필요한 내용을 정확하게 알려주는 주석이 좋은 주석이라고 할 수 있겠다. 대표적으로 아래와 같은 주석이 많이 쓰인다.

 

① 머리글 : 프로그램의 제작자, 저작권, 생성일, 변경 일등을 기술한다.

#######################
# Python calc program
# Python 3.8.4
# written by 리덕토 at 2021_04_10
# This code is protected by XXX
# 
# revise-1 2021_04_XX : add sub function
# revise-2 2021_05_XX : add div function
#######################

def add(val1, val2):
    return val1 + val2

def sub(val1,val2) :
    return val1-val2

def div(val1,val2) :
    return val1/val2

 

② 함수 동작 주석 : 함수의 파라미터, 리턴 값, 동작 방식을 설명한다.(프로그래머도 사람이라, 자연어 기술이 더 읽기 좋다.)


# function_name : do_something
#
# purpose : to get property of user's request 
#
# parameters : 
#  - req : String, should include ":"
#  - parameter : Integer, 1 = length of seperated req, 2 = sum of seperated req
#
# return : Integer, length of handled data or sum of that
#
# Warn : req should only contained Integer value and ":" 
 
def do_something(req, parameter) :
   	data = data.strip(":")
    if(parameter == 1) :
        return len(data)
    elif(parameter == 2) :
    	sum_data = 0 
        for i in range(len(data)) :
        	sum_data += data[i]
        return sum_data

좋은 주석을 단다는 건 어려운 일이다. 주석을 다는 규약이 없는 조직이라는 필연적으로 프로그래머 자기 자신 나름대로의 주석 습관이 생기기 마련이다.

누군가는 모든 코드에 주석을 달 것이고(이건 아닌 거 같다.) 누군가는 나만 보려고 주석 없는 코드를 만들 수도 있다.

다만 좋은 형상관리 도구들(Github)들을 가보면 모두가 사용하는 코드에 주석이 한 줄도 없는 경우는 찾아보기 힘들다.

매너 있는 프로그래머가 되기 위해서, 또 게으른 우리 자신을 위해서 주석을 달아두는 건 분명 도움되는 습관이다. 다음 시간은 Iterator에 대해서 알아보자