2012-07-06 2 views
1

다음 파이썬 코드는 작동하지만 유지 보수성이 매우 낮습니다.코드 유지 관리를 향상시키는 데 사용할 수있는 데이터 구조는 무엇입니까?

그러나 유지 관리 기능을 향상시키기 위해 코드를 구현하는 데 더 좋은 방법은 없습니다.

extraval = "" 
if aline[0:1] == "-": 
    extraval = '"expanded":true, ' 
    aline = aline[1:] 
if aline[0:1] == "+": 
    extraval = '"expanded":false, ' 
    aline = aline[1:] 

추가 매개 변수로 작업해야하는 경우 코드가 두 배로 유지됩니다.

+1

그냥 기록을 위해, 잠재적 인 버그가 여기에있다 : 코드를 aline'로 시작'경우 행동을 생각하는 방법 '- +'? –

답변

2

dict을 사용하여 대상 키를 연관된 값으로 매핑 할 수 있습니다. 특정 키가 있는지 확인하고 일치하는 키와 연관된 값을 반환하는 것은 간단합니다. 예를 들어

:

m = { 
    "-" : '"expanded":true, ', 
    "+" : '"expanded":false, ', 
} 

if aline[0] in m: 
    extraval = m[aline[0]] 
    aline = aline[1:] 
관련 문제