Какие структуры данных можно использовать для повышения удобства сопровождения кода?

Следующий код Python работает, но ремонтопригодность довольно плохая.

Однако я не вижу лучшего способа реализовать код для улучшения ремонтопригодности.

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

Когда мне нужно работать с дополнительными параметрами, код продолжает удваиваться.


person Paul    schedule 06.07.2012    source источник
comment
Просто для протокола: здесь есть потенциальная ошибка: как ваш код должен вести себя, если aline начинается с '-+'?   -  person bruno desthuilliers    schedule 06.07.2012


Ответы (1)


Вы можете использовать dict для сопоставления целевых ключей с их связанными значениями. Тогда было бы тривиально проверить, существует ли конкретный ключ, и вернуть связанные значения соответствующих ключей.

Например:

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

if aline[0] in m:
  extraval = m[aline[0]]
  aline = aline[1:]
person Shawn Chin    schedule 06.07.2012