.. какие самые разочаровывающие, но в некоторой степени распространенные «хаки» Python или злоупотребления языковыми функциями, которые кто-то может ввести, могут стать кошмарами для будущих разработчиков этого кода?
Трудно рефакторинг:
понимание вложенного списка (как в: несколько уровней глубины).
Большинство людей (при изучении Python) очарованы мощью и полезностью понимания списков. Это может вызвать тенденцию к чрезмерному их использованию и созданию глубоко вложенных, сложных. Большую часть времени один и тот же код должен был быть написан с простыми циклами для удобства чтения и поддержки. Я считаю, что три уровня уже слишком глубоко вложены.
-
А также (не так сложно перестроить, но в основном раздражает):
пытается использовать Python, как если бы он был другим языком (без собственных специфических конструкций); e.g.:
for i in range(len(mylist)):
item = mylist[i]
# do stuff with item
вместо
for i, item in enumerate(mylist):
# do stuff with item
или даже (зачем вам индекс в любом случае):
for item in mylist:
# do stuff with item
Это включает в себя: заново изобретать колесо (плохо), когда функциональность уже (точно названа) в богатой стандартной библиотеке.
И проверка типов, делающая вещи невозможными для подкласса и т. Д. *