Это не класс, хотя он похож на класс. Имя существительное, «приветствие». Он принимает аргументы и сохраняет их в __init__. Да, выглядит как класс. У него есть метод, читающий состояние объекта и делающий что-то ещё, как в классах. Внизу написано, как этим классом пользуются: создаём экземпляр Приветствия и затем используем это Приветствие чтобы сделать что-то ещё.
>>> greeting.greet('Jorge')
>>> greeting = Greeting('Hola')
return '%s, %s!' % (self.word, name)
def __init__(self, word='Hello'):
Из этого доклада вам в первую очередь нужно запомнить вот этот код. Это крупнейшее злоупотребление классами, встречающееся в природе.
На своей работе я говорю коллегам: «Я ненавижу код, и хочу чтобы его было как можно меньше в нашем продукте.» Мы продаём функционал, не код. Покупатели у нас не из-за кода, а из-за широкого функционала. Каждый раз, когда код удаляется, это хорошо. Нас четверо, и в последний год мы перестали считать количество строк в продукте, но продолжаем вводить новый функционал.
Итак, в первую очередь, не делайте сложно, там, где можно сделать проще. Классы очень сложны или могут быть очень сложны. Но мы всё равно делаем сложно, даже стараясь делать проще. Поэтому в этом докладе мы прочитаем немного кода и узнаем, как заметить, что идём неверным путём, и как выбраться обратно.
Написал этот текст Тим Питерс. Он умнее и вас, и меня. Сколько вы знаете людей, в честь которых назвали алгоритм сортировки? Вот такой человек написал Дзэн Питона. И все пункты гласят: «Не делай сложно. Делай просто.» Именно об этом и пойдёт речь.
Если программу легко объяснить, возможно, она хорош'
Если программу трудно объяснить, она плохая
Важна читаемость
Плоское лучше вложенного
Простое лучше сложного
Все из вас читали , наверное много раз. Вот несколько пунктов из него:
Перевод доклада , одного из ключевых разработчиков языка Питон. прозвучал 9 марта 2012 на конференции PyCon US.
Каждый раз когда из написанного класса вы создаёте всего один экземпляр, используете только раз и тут же выбрасываете, следует думать: «ой, надо бы это отрефакторить! Можно сделать проще, намного проще!»
Признак того, что объект не должен быть классом если в нём всего 2 метода, и один из них инициализация, __init__. Каждый раз видя это, подумайте: «наверное, мне нужна просто одна функция».
Перестаньте писать классы
Перестаньте писать классы / Хабрахабр
Комментариев нет:
Отправить комментарий