본문 바로가기

Code Snippets/Python

[파이썬] Code Refactoring 팁 : 예외 case를 앞에서 제시

파이썬에서 IF 문은 정말 자주 등장한다.

 

 

IF 문 안에 If 문이 들어와서, 아래와 같이 들여쓰기 (indentation) 이 여러번 있는 경우도 많다.

아래는 if가 두번이나 있는 경우다.

def myjob():
	if (myfield == 'grid-insta'):
    	i.click()
        time.sleep(3)
        print(len(driver.window_handles))
        if len(driver.window_handles) != 1:
        	driver.switch_to.window(driver.window_handles[-1])
            time.sleep(4)

 

 

IF 문이 많아서 들여쓰기가 많으면 내가 집중해야 하는 들여쓰기 단계가 어디인지 놓치기 쉽다.

 

그래서 이런 IF문에서 들여쓰기를 최소화할 수 있는 방법이 있는데, 바로 예외 케이스를 앞에 제시하는 것이다.

 

 

위 코드를 조금 수정해보면

def myjob():
    if (myfield != 'grid-insta'):
        return
    i.click()
    time.sleep(3)
    print(len(driver.window_handles))
    
    if len(driver.window_handles) == 1:
    	return
	
    driver.switch_to.window(driver.window_handles[-1])
    time.sleep(4)

이렇게 def 바로 밑의 단계에서 나의 본문이 모두 위치할 수 있도록 만들 수 있다.

코드가 훨씬 깔끔해졌다.