Avoid Many if else

GisangLee·2022년 12월 1일
0

python

목록 보기
3/8

if elif else를 많이 사용해야할 것같은 상황에서
if else를 피하는 방법

1. Before Code


def test_case(test_case: str):

	# 많은 if else가 사용되는데
    # 이를 방지할 수 있는 좋은 구조가 있다.
    
    if test_case == 'Test_001':
        test_function_001()
        
    elif test_case == 'Test_002':
        test_function_002()
        
    elif test_case == 'Test_003':
        test_function_003()
        
    elif test_case == 'Test_004':
        test_function_004()
        
    elif test_case == 'Test_005':
        test_function_005()
        
    elif test_case == 'Test_006':
        test_function_006()
        
    elif test_case == 'Test_007':
        test_function_007()
        
    else:
        print("None of the mapped test case found")

2. After Code


class TestCase(object):

	def __init__(self):
    	
        # Dict를 활용해서 key값으로 관리하면
        # 더 좋은 디자인 구조가 될 수 있다.
    	self.test_cases = {
          'Test_001': test_function_001,
          'Test_002': test_function_002,
          'Test_003': test_function_003,
          'Test_004': test_function_004,
          'Test_005': test_function_005,
          'Test_006': test_function_006,
          'Test_007': test_function_007,
    	}
        
	def test(test_case: str = None):
    
    	self.test_case.get(test_case)()

Dict를 활용해서 key값으로 관리하면, 더 좋은 디자인 구조가 될 수 있다.

profile
포폴 및 이력서 : https://gisanglee.github.io/web-porfolio/

0개의 댓글