Вредные привычки программирования, которые мы тайно любим
Мы все сделали это: вытащили печенье, когда мама не смотрела, выпили слишком много вина на ужин, дали постоять на парковке после истечения времени счетчика. Также мы все нарушили любое количество кардинальных правил программирования, с которыми все согласны, плохие. И нам тайно нравилось.
Мы смирились с правилами хорошего программирования, но напечатали абсолютно плохой код - и мы жили. Наши рабочие столы не взорвались. На самом деле, наш код скомпилирован и отправлен, и клиенты казались достаточно счастливыми.
Ведь чаще всего эти правила являются руководящими принципами или стилистическими предложениями, а не жесткими и быстрыми директивами, которые должны соблюдаться, иначе произойдет смерть кода.
Далее следует список из правил, которые некоторые могут считать безупречными, но многие из нас часто нарушают, и с успехом, и с удовольствием.
1. Копирование
Это неправильно делать в школе. Но на работе правила не так ясны. Конечно, есть несколько блоков кода, которые не должны быть украдены. Если она исходит от несвободных программ, не складывайте ее в стек, особенно если на ней написано сообщение об авторских правах.
Вопрос сложнее, когда оригинальный создатель хочет поделиться. Возможно, это на одном из тех онлайн-форумов по программированию. Возможно, это открытый исходный код с лицензией (BSD, MIT), которая позволяет схватить одну или три функции. Нет никаких законных причин останавливать тебя.
В большинстве случаев преимущества копирования являются убедительными, и недостатки могут быть ограничены с некоторой осторожностью. Код, который вы получаете из надежного источника, уже имел, по крайней мере, один раунд размышлений, примененных к нему.
Сложные вопросы заключаются в том, есть ли какие-то необнаруженные ошибки или другие предположения о роли или основных данных. Возможно, ваш код смешивается с нулевыми указателями, в то время как исходный код никогда не проверял их.
2. Нестандартный интервал
Большинство отступов в программном обеспечении не влияют на работу программы. За исключением нескольких языков, таких как Python. Тем не менее, есть навязчивые программисты, которые считают их и настаивают на том, что они имеют значение.
Удивительно то, что есть несколько хороших инструментов, которые автоматически переформатируют ваш код, чтобы он соответствовал всем четко определенным правилам огранки. Людям не нужно тратить время на размышления об этом. Если это так важно, они могут пропустить его через инструмент для устранения проблемы.
3. Нефункциональный код
В течение последнего десятилетия, функциональная парадигма росла. Сторонники сборки вашей программы из вложенных функций любят приводить примеры исследований, показывающих, насколько безопаснее и безошибочнее код, чем старый стиль переменных и циклов.
Но чудесно спроектированный и грациозно спланированный код требует времени не только для воображения, но и для построения, а затем и для навигации. Все эти слои добавляют сложности, а сложность является дорогостоящей. Разработчикам красивого функционального кода необходимо заранее спланировать и убедиться, что все данные передаются по правильным путям. Иногда проще добраться до переменной и изменить ее.
admin1 - 05/12/2019 |