Архитектурный шаблон проектирования конвейер (pipeline) хорошо зарекомендовал себя при проектировании высоконагруженных (highload) систем. Использование шины сообщений (message bus) при реализации каналов взаимодействия позволяет достигать хороших показателей масштабируемости (scalability), но при этом появляются дополнительные накладные расходы, которые сказываются на показателях производительности (performance).
…
«Имя создаваемой переменной следует выбирать так же тщательно, как имя новорождённого».
Именование переменных, классов и методов в коде — эта тема кажется простой и, пожалуй, даже не заслуживающей внимания. Все согласны, что называть переменные надо правильными именами и… И, в общем-то всё. Что такое эти правильные имена? Почему часто мы читаем чужой код и чувствуем, что его проще переписать, чем модифицировать? Почему вообще так много плохого, нечитаемого, дурно пахнущего кода появляется каждый день?
Правильный нейминг это не панацея и не серебряная пуля. Однако серьёзный подход к именованию это критически важная особенность качественного кода, равно как безответственный нейминг это наиболее частая особенность кода плохого. В чем же разница между плохим и хорошим неймингом и как научиться писать код, который не захочется через месяц выбросить? Давайте разбираться.
Меня зовут Алексей Голобурдин, я программирую с 2004 года и на этом канале делюсь своим опытом. Я основатель и руководитель компаний:
— Диджитализируй digitalize.team, разрабатываем сложные IT системы для бизнеса;
— Salesbeat salesbeat.pro, комплексный модуль доставки для интернет магазинов.
Если у вас есть проект на разработку, пишите нам на hi@digitalize.team.
С другими предложениями, а также если вам нужна одна или несколько индивидуальных консультаций/уроков по разработке (3000 руб/час), пишите мне на alexey@salesbeat.pro.
Windows 1 (first Windows released in year 1985 running on Tesla SMEP PP06 (IBM PC XT Clone) with 640 KB RAM 2x360 KB 5,25" FDD, 42 MB MFM HDD (Seagate ST251) and Hercules Graphic Card. This computer in pictures: photos.app.goo.gl/euFdeDBSLyJe4ddN8