코드 스타일을 정할 때의 이점
제어문을 공부하기 전에 코드 스타일에 대한 내용을 살펴보고자 한다. 코딩 스타일에 대한 약속을 알고 규칙을 지키면 다음과 같은 이점이 있다.
- 가독성을 높인다.
- 논리적 오류를 최소화한다.
- 협업에 효과적이다.
- 서로 다른 플랫폼의 호환성 문제를 최소화한다.
간단한 프로젝트라도 수백 줄, 수천 줄이 되는 코드를 작성하게 된다. 변수에 이름을 붙이는 것부터 해서 코드 스타일이 잘 정돈되어야 선행 코드와 후행 코드의 관계와 의미를 명확히 파악할 수 있다. 그리고 그렇다면 논리적인 오류를 최소화할 수 있을 것이다.
협업을 하는 경우라면, 코드를 주고받는 사람끼리 서로 코드를 이해할 수 있어야 원활한 피드백이 이루어질 수 있다. 또한 서로 다른 플랫폼의 호환성 문제로 오류가 발생할 수 있어서, 오류를 최소화할 수 있도록 코딩 스타일을 권장하는 것이다.
지금부터 제안하는 것은 파이썬에서 권고하는 코딩 스타일을 참고한 것이다.(참고, PEP-8) 이를 따라 작성하면 프로젝트에 대한 일관성을 유지할 수 있는 가이드라인이 된다. 물론 절대적인 것은 아니며, 링크의 서류에서도 '일관성이 없어야 할 때도 있다'라고 언급하고 있기에, 본인의 코딩 스타일을 다듬는 데 참고자료로 활용하면 될 듯하다.
명령문을 구분하는 들여 쓰기는 스페이스 4칸
코드는 들여 쓰기로 명령문의 시작과 끝을 구분한다. 파이썬에서는 스페이스 4칸을 권장한다.
위 코드에서 if로 시작하는 명령어는 조건문이다. 3번 줄에서 조건을 확인한 후 참이라면 4번줄의 내용을 실행한다. 조건이 거짓이라면 4번 줄은 실행되지 않는다. 4번줄은 독립된 명령어가 아니며 3번줄에서 시작된 if문에 포함된다. 그렇기 때문에 이를 구분하기 위해 4번줄에는 들여 쓰기를 적용하여 선행 명령어에 포함되는 명령문임을 나타낸다. 즉, 6번 줄의 print문이 독립적인 명령문인데 반해, 4번줄은 3번 줄의 if문에 영향을 받는 명령어이다. 이때 들여쓰기는 tab사용을 지양하고, 4칸 스페이스를 권장한다.
위 프로그램의 실행 결과로는 6번줄의 print문만 실행된다. name변수에 저장된 값이 '자바'가 아니기 때문이다. 만약에 6번줄의 머리에 들여쓰기를 적용한다면 어떻게 될까?
명령어의 구조가 위와 같다면, 6번줄 또한 3번줄의 if문에 포함된 명령어로 간주한다. 즉, 이 코드를 실행한 결과로는 아무것도 출력되지 않는다. 들여 쓰기에 따라 코드의 결과가 전혀 달라질 수 있다. 들여 쓰기를 명확하게 적용해야 하는 이유이다.
최대 글자수와 줄 바꿈
- 한 줄의 글자수는 79자 제한
- 종료되지 않은 줄의 줄 바꿈은 괄호 이용
- 줄 바꿈 한 부분은 반드시 들여 쓰기 적용
명령어 하나에 적용할 요소가 많아서 한 줄의 내용이 길어지는 경우가 있다. 그렇지만 모니터의 크기는 제한되어 있기 때문에 무한정 길게 작성된 한 줄짜리 명령어는 가독성이 떨어질 뿐이다. 그래서 한 줄의 글자수는 79자로 제한할 것을 권장한다. 물론, 79자를 정확히 지키기 위해 일일이 글자수를 세면서 코딩하는 것도 심력을 낭비할 수 있기 때문에 각자가 판단하여 적당히 길어진다 싶으면 줄 바꿈을 하면 된다.
종료되지 않은 명령어의 줄 바꿈은 괄호(소괄호, 중괄호, 대괄호 모두 사용할 수 있다.)를 이용한다. 괄호로 구분되는 부분은 한 덩어리로 인식한다. 단, 줄바꿈을 할 때에 들여쓰기를 적용해야 하며, 닫는 괄호의 위치는 코드 시작의 첫 문자 아래에 위치하거나, 다른 항목과 똑같이 들여쓰기를 적용한다.
연산자의 사용과 줄바꿈
- 연산자의 주위에 스페이스를 포함한다
- 연산자는 다음 줄로 줄 바꿈 한다.
연산자를 사용하여 식이 이어지는 경우에는 위와 같은 규칙을 사용하여 가독성을 높인다.
줄 바꿈을 하는 경우 연산자부터 줄바꿈을 적용한다. 각 항목의 글자수가 다르면 연산자의 위치가 달라져 가독성이 떨어지기 때문이다.
import 모듈의 사용
- import는 코드 맨 위에 위치한다.
- import를 여러 번 사용한다면 별도의 줄에 작성한다.
import는 파이썬을 강력하게 만드는 기능 중 하나이다. 파이썬은 미리 만들어진 라이브러리나 모듈을 사용함으로써 어마어마한 확장성을 가질 수 있는데, 마치 잘 만들어진 밀키트를 가져와 순서에 따라 조리하는 과정과 비슷하다. 밀키트와 같은 모듈을 가져오는 명령어가 import이다.
'IT일반' 카테고리의 다른 글
파이썬 프로그래밍 - 제어구조(2), 조건문, if문 예제, 홀짝 판별기, 성적 판별기 (0) | 2024.12.05 |
---|---|
파이썬 프로그래밍 - 제어구조(1), 연산자, 조건문, if문 (0) | 2024.12.04 |
키크론X한컴타자 이벤트 참여 (0) | 2024.11.24 |
파이썬 프로그래밍 - 입출력(4), 여러 값 입력받기 split, map (0) | 2024.10.24 |
파이썬 프로그래밍 - 입출력(3), 입력 명령어 input, 형변환 명령어 int, float, str (1) | 2024.10.15 |