loulett

anti_patterns

Mar 27th, 2018
87
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.25 KB | None | 0 0
  1. # Было вот так. Это функция для подсчета качества в игре
  2.  
  3. def quality_calculation(self, delta_acid, delta_membr, pores_diameter):
  4.         if delta_acid < 1.5:
  5.             quality1 = 0.5
  6.         elif delta_acid < 2:
  7.             quality1 = 0.3
  8.         else:
  9.             raise ModelError(
  10.                 'Полученная массовая доля серной кислоты сильно '
  11.                 'отличается от указанной в требованиях.')
  12.         return quality1
  13.  
  14. # Стало вот так. Убрали странные рандомные константы в параметры функции, т.е. убрали антипаттерн magic numbers
  15.  
  16. def quality_calculation(self, delta_acid, delta_membr, pores_diameter, good_qual_barr=1.5, bad_qual_barr=2, good_qual=0.5, bad_qual=0.3):
  17.         if delta_acid < good_qual_barr:
  18.             return good_qual
  19.         elif delta_acid < bad_qual_barr:
  20.             return bad_qual
  21.         else:
  22.             raise ModelError(
  23.                 'Полученная массовая доля серной кислоты сильно '
  24.                 'отличается от указанной в требованиях.')
Advertisement
Add Comment
Please, Sign In to add comment