Короткая статья о методах и их оформлении. Данная часть стандартов направлена на людей в разной стадии понятия дзена программирования. Людей, которые находятся в стадии эксперимента на уровне написания самого кода внутри методов, обработчиков и свойств. Их, абсолютно также, как и во время именования переменных, можно написать так, что другие программисты понимать не будут. Поговорим об этом…
Некоторые программисты целенаправленно делают вместо 10 методов по 100 строк, 200 методов по 10 строк, искренне считают, что это хорошо. Суть в том, что разбитый на такие мелкие части код легче тестировать, когда у Вас в команде есть тестеры, и вероятно в больших коммерческих проектах это чистое благо. Однако. Имея в команде пару человек, которые не будут за Вами писать тесты, это ЧИСТОЕ ЗЛО.
Некоторые программисты, кто делает вместо 10 методов Один, также искренне полагают, что это круто. Используют тонну синтаксического сахара, вызовы методов в методах и прочее… Это в свою очередь вызвано юношеским максимализмом и увлечением языками вроде Питона, что провоцирует людей на эксперименты с сахаром. Добавляя такое в проект, Вы также наносите ему непоправимый ущерб.
Я видел и то и другое. Я сам писал сначала очень длинные методы, потом супер короткие. И в том и другом случае суть ускользала.
Рекомендую к прочтению вот эту статью: https://habr.com/ru/articles/239799/
Призываю думать в первую очередь о людях, которые будут читать Ваш код после. И правило по теме звучит так:
Рис. 1. Преступление на преступлении.
Данный код демонстрирует нам некоторые навыки программиста, который его писал. Вероятно, даже тешит его самолюбие. Однако, если Вы добавите куда-то в коннекторы что-то подобное, он скорее всего, будет не поддерживаем, и кто-то потеряет деньги.
Ещё один способ обфусцировать свой код – добавить в него излишнюю вложенность.
Код с уровнем вложения больше 4 будет отвергнут.
Пост из серии «Коннекторы к OsEngine»
Серия о том, как стать настоящим программистом и изменить свою профессию.
Оглавление и смыслы здесь: https://smart-lab.ru/company/os_engine/blog/959953.php
Комментарии открыты для друзей, добавляйтесь!
OsEngine: https://github.com/AlexWan/OsEngine
Поддержка OsEngine: https://t.me/osengine_official_support
Регистрируйся в АЛОР и получай бонусы: https://www.alorbroker.ru/open
Сайт АЛОР БРОКЕР: https://www.alorbroker.ru
Раздел «Для клиентов»: https://www.alorbroker.ru/openinfo/for-clients