Комментарии 15
Такая теплая и ламповая статья, спасибо большое!
НЛО прилетело и опубликовало эту надпись здесь
Вообще-то это довольно известный шаблон проектирования
Null_object_(Шаблон_проектирования) [wikipedia]
Null_object_(Шаблон_проектирования) [wikipedia]
НЛО прилетело и опубликовало эту надпись здесь
Статья замечательная, спасибо!
Но есть небольшое замечание
Когда пишите "Мы в Badoo всегда стараемся сделать так, чтобы наш код было легко поддерживать, развивать" — стоит форматировать код в PSR. Отсутствие стандарта — это не критично, просто наводит на определённые мысли. ;)
А вы у себя уже используете strict_types=1?
Двойственное ощущение от статьи.
С одной стороны, даже вот такой вот несистемный частный набор «советов» имеет смысл, с другой — ну в целом-то гораздо больше профита даёт системное обучение фундаментальным вещам, под нормальными названиями.
В общем всем, кому статья показалась годной, рекомендую прочитать хотя бы https://www.info.ucl.ac.be/~pvr/book.html, толку будет в разы больше, как мне кажется.
С одной стороны, даже вот такой вот несистемный частный набор «советов» имеет смысл, с другой — ну в целом-то гораздо больше профита даёт системное обучение фундаментальным вещам, под нормальными названиями.
В общем всем, кому статья показалась годной, рекомендую прочитать хотя бы https://www.info.ucl.ac.be/~pvr/book.html, толку будет в разы больше, как мне кажется.
Статическая типизация? Схема?
Возможно я не правильно понял пример про минимизацию интерфейса, на мой взгляд он не очень удачный. Если ваша абстракция — account, требует методов withdraw и deposit, то они должны быть в интерфейсе, другое дело если вам только transfer нужен, тогда все понятно.
Речь, очевидно, не о минимизации интерфейса, а об использовании написанного кода: даже если интерфейс класса требует наличия обоих методов, не факт, что разработчик, использующий написанный класс не забудет вызвать оба метода. Т.е. то, что могла бы предотвратить база нивелируется использованием кода, в отличие от transfer, который внутри метода гарантирует нужную последовательность выполнения
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Применение принципа poka-yoke в программировании на примере PHP