Python

Грань между плохим и хорошим кодом

Нормально ли что я в проекте всё возникающие вопросы (создание объектов и операции над ними) решаю через def? Не является ли это нубостилем?
За 700 строк кода не было создано ни одного класса.
Просьба привести пример, когда лучше создать класс и работать с ним для создания объектов чем создавать их же через def с передачей параметров.
Pavel K
Pavel K
233
Применять классы имеет смысл только в случае некоей весьма большой и запутанной задачи, типа фреймворка, над которым и с которым работает масса сторонних программистов, физически не успевающих изучить чужой код..
В этом случае стороннему разработчику достаточно знать, что есть такой-то класс, который выдает такие-то результаты по таким-то данным, что избавляет его от ползанья по бесчисленным модулям в поисках нужной функции и чтения длиннющих и вечно меняющихся описаний различных версий программы (если таковые, к тому же, существуют).
Мишаня Сырбу
Мишаня Сырбу
68 911
Лучший ответ
Это приходит с опытом - есть определенные "Best Practices", обычно - чем проще - тем лучше. Хороший код - это код, который читается как литературное произведение т. е. если кто-то открывает его - ему сразу должно быть понятно по названию функций/методов/переменных, что примерно происходит, а вот если придется лезть в "кишки" всего, чтобы понять как это работает - это обычно плохо.
Фе
Федюня
73 814
def определяет функции
Python сам по себе читаемый и очевидно понятный, дополнительно ничего для этого не надо, ну можно комментировать как вариант
ДМ
Дмитрий М.
66 605
Чёткий хороший код пишут только два человека на Земле - это лидеры ОтветовМайлРу Андрей и Николай.

А мы все остальные пишем только плохой код.

:))))
Константин Ли
Константин Ли
37 945
Единственный измеряемый параметр оценки работающего кода это количество мата на единицу времени от человека который его читает.
Если у тебя код нормально читается и работает, то какая разница через что ты его пишешь.