안녕하세요!



 서비스의 결제 로직을 담고 있는 3000 줄 짜리 코드를 헤집어가며 버그를 찾아내야 한다면? 아마 나라면 곳곳에 퍼져 있는 똑같은 일을 하고 있는 코드들을 함수화 하는 것 부터 시작할 것이다. 존재하는 코드를 함수로 감싸고, 원래 코드가 있던 자리를 함수 호출 하나로 대체하는 건 간단하다. 수정하기 전의 코드와 정확히 똑같이 동작할 것도 보장된다. 줄줄이 쌓인 코드를 3~4줄 짜리의 함수로 만들면 읽기도 나름 쉬워진다.




def func():
    # do a
    # do b
    # do c
    pass




def func_a():
    pass # do a

def func_b():
    pass # do b

def func_c():
    pass # do c

def func():
    func_a()
    func_b()
    func_c()



 그러나 단순히 함수화로만 리펙토링이 끝나는 것은 아니다. 새로운 클래스를 생성하고, 로직을 캡슐화 해야 한다면? 새로운 클래스를 싱글턴으로 해야 할지 말아야 할지 고민하는 상황이라면? A 클래스를 상속하는 B 클래스에 새로이 생성자를 만들어주고 싶다면? 과연 이전과 똑같이 코드가 동작할 것을 보장할 수 있을까? 아리까리한 상황을 확실히 정리해 보자 한다.



저는 다음과 같은 개발환경을 씁니다.



파이썬 (3) 다운로드: https://www.python.org/downloads/

파이참 다운로드: https://www.jetbrains.com/pycharm/download/#section=windows


대학생은 학교 이메일은 인증 받으면 1년 단위로 professional 버전을 사용할 수 있습니다. 1년짜리 학생 라이센스가 만기되면 다시 학교 이메일을 사용해서 갱신할 수 있습니다.








기본 프로젝트 만들기:


설치 완료 후에는




최신 파이참은 프로젝트 마다 가상환경을 자동으로 설치해 줍니다 (우왕 굳)



+ Recent posts