목차

이전 항목

4. 감사의 표시

다음 항목

6. 요약

현재 문서

주의사항

해당 문서는 중요 변경 작업 중에 있습니다. 일부 문서에 텍스트가 빠져있거나, 불어로 플레이스홀더(placeholder) 자리차지만 되어 있을 수 있습니다.

5. 2번째 규칙

프로그램하는 방법을 배우는데 첫번째 규칙은 이미 언급했다: 프로그램을 직접 작성해야 하고 (테스트도 해야하고) 단순히 프로그래밍에 관해서 읽기만 하면 안된다. 이제, 두번째 규칙을 일러줄려고 하는데 좋은 컴퓨터 프로그램을 작성하는 최고 비밀 중의 하나다.

중요

규칙 # 2

다른 사람 이 읽고 이해하기 쉽게 컴퓨터 프로그램을 작성한다.

맞는 말이다. 컴퓨터 프로그램을 작성해서 여러분 같은 다른 사람이 그 자체로 읽기 쉽고, 작성한 프로그램이 무엇을 수행하는지 이해하기 쉽게 작성한다. 그렇다, 컴퓨터 언어는 여러분이 컴퓨터와 의사소통하도록 설계되었다. 마치 인간 언어가 사람들이 서로 의사소통할 수 있도록 진화하였듯이 말이다. 하지만, 다른 프로그래머와 작업을 공유하도록 프로그래머가 인간 언어보다 훨씬 단순한 컴퓨터 언어를 흔히 사용한다.

5.1. 주석

다른 사람이 이해하기 훨씬 쉽게 컴퓨터 프로그램을 작성하는데 사용되는 첫번째 도구를 여러분에게 제시합니다: 주석(comments).

주석은 컴퓨터에 의해서 무시되어 실행되지 않는 프로그래머가 작성한 메모다; 단지 사람만이 읽고 이해할 수 있다는 의미가 된다.

파이썬을 사용할 때, 두가지 중에 한가지 방식으로 주석을 작성할 수 있다:

  • 임의 크기를 갖는 텍스트를 3중 인용부호 사이에 감싸는 것이다. 예를 들어, """ ... """ 혹은 ''' ... '''.
  • 특정 줄에서 # 로 시작되는 텍스트를 작성한다.

먼저 어떤 주석도 없는 간단한 프로그램을 작성한다. 그리고 이어서 주석이 가미된 두번째 버전이 있고, 세번째 버젼은 다소 가독성이 떨어진다; 하지만, 저자는 의도적으로 프로그램 3개에 대해서 동일한 오류를 만들었다. 첫번째 혹은 두번째 프로그램에서 좀더 쉽게 오류를 탐지할 수 있나요?

move()
move()
turn_left()
put()
move()
move()
turn_left()
put()
move()
turn_left()
put()
move()
move()
turn_left()
put()

상기 프로그램을, 리보그 관점에서 봤을 때 사람을 위해 주석만 추가된 동일한 프로그램을 비교해 보세요; 주석이 다른 색깔과 폰트 스타일로 나와서 주석을 알아볼 수 있다.

'''  리보그가 정사각형을 그리고
각 정사각형 모서리에 토큰을 놓는
간단한 프로그램이다. '''

move()  # 파이썬 명령어는 개별 줄에 표현된다.
move()
turn_left() # 리보그만 왼쪽으로 회전할 줄 안다.
put()  # 리보그가 충분한 토큰을 보유하고 있다고 가정한다.

# 정사각형을 완성하는데 상기 명령어를 세번더 수행한다.
move()
move()
turn_left()
put()

move()
turn_left()
put()

move()
move()
turn_left()
put()

위에 나온 주석은 특히 좋은 것은 아니다. 하지만, 적어도 주석중에 하나가 프로그램에 잘못된 것을 찾아내는데 도움이 되어야 한다. 이것이 사기라고 생각할 수도 있다; 하지만, 프로그램 코드라인에 숨겨진 의도를 어떻게 추측할 수 있을까? 주어진 프로그램이 어떤 작업을 수행해야 하는지 설명하는 주석을 추가하면 실수를 찾아내는데 매우 도움이 될 수 있다.

주석에 더해서, 저자는 “논리적(logical)” 코드 덩어리를 구별하는데 빈줄을 사용해서, 패턴을 좀더 잘 볼 수 있게 했다. 주석과 빈줄 삽입을 함께 사용하는 것이 프로그램을 훨씬 더 읽기 쉽게 만든다.

선생님께

만약 이미 함수 인자를 사용하는 방법을 설명했다면, 상기 예제를 변경하도록 제안한다.:

put()

에서:

put(‘token’)

으로.

위와 같이 하는 이유는 코드를 막 읽기 시작한 사람에게 프로그램 의도를 더 명확하게 만들기 때문이다.