-
67 - (파이썬) 가독성과 유지보수성study with Q - 파이썬 2024. 7. 15. 19:25
# 현대적 관점의 개발은 함수함수함수함수함수함수다.
: 가독성, 유지보수적의 측면에서 이런 것까지? 하는 부분까지 함수로 만드는 것이 좋다.
eg) 원주율이 주어졌을 때, 원의 둘레와 넓이를 구하는 방법을 구하는 프로그램을 만든다고 할 때,
🧐 요래 작성하면 되는 거 아닌가?
#숫자 입력 number = input("Enter a number: ") radius = float(number) #둘레와 넓이 print(2*3.14*radius) print(3.14*radius*radius)
주석은 코드를 수정하면서 바로 같이 수정되지 않으므로 누락( → 휴먼 에러 발생)의 가능성이 있다.
그래서 아예 함수로 요래요래 변환해버림
def num_input(): number = input("Enter a number: ") return float(number) def circum(radius): return 2*3.14*radius def area(radius): return 3.14*radius*radius variable = num_input() print(circum(variable)) print(area(variable))
한 줄자리 코드는 컴파일 단계에서 인라인코드로 삽입해버리기 때문에 함수 스택 쌓느라 느려지지 않을까 하는 생각은 안해도 됨...: 가독성이 높아지면 유지보수도 쉬워진다.
그렇기 때문에 위의 코드를 더 쉽게 수정할 수 있도록 코드를 짠다고 하면 원주율까지도 변수로 때려넣으면 된다. 이렇게.
pi = 3.141592 def num_input(): number = input("Enter a number: ") return float(number) def circum(radius): return 2*pi*radius def area(radius): return pi*radius*radius variable = num_input() print(circum(variable)) print(area(variable))
eg) 간단한 HTML 태그를 작성하는 코드를 만들어보자
print("<p>{}</p>".format("안녕하십니까.")) print("<p>{}</p>".format("이것은 간단한 HTML 태그의 예시입니다.")) #함수를 쓰지 않은 코드에서 <P>를 <p class = content-iine>으로 바꿔달라고 한다면 print("<p class = content-iine>{}</p>".format("안녕하십니까.")) print("<p class = content-iine>{}</p>".format("이것은 간단한 HTML 태그의 예시입니다.")) #하나하나 다 찾아가며 바꿔야한다.
그렇지만 미리 함수로 받아서 출력하는 문자열을 썼다면
def p(p_str): return "<p>{}</p>".format(p_str) print(p("안녕하십니까")) print(p("이것은 간단한 HTML 태그의 예시입니다.")) # <P>를 <p class = content-iine>으로 바꿔달라고 할 때도 함수 내부만 바꾸면 된다. def p(p_str): return "<p class = content-iine>{}</p>".format(p_str) print(p("안녕하십니까")) print(p("이것은 간단한 HTML 태그의 예시입니다."))
🧐 예전에 디수 때 템플릿을 이용했던 것이 그런 이유이기도 했지 오호오호.'study with Q - 파이썬' 카테고리의 다른 글
69 - (파이썬) 확인문제, 메모화 추가 (0) 2024.08.01 68 - (파이썬) 확인문제: 기본 형태 (0) 2024.07.29 66 - (파이썬) 이터러블, 이터레이터, 제너레이터 함수, 제너레이터 표현식 (0) 2024.07.09 65 - (파이썬) CSV 파일 읽고 쓰기 (1) 2024.07.08 64 - (파이썬) 기본 파일 처리 (0) 2024.07.08