Хороший, Плохой, Злой. ТОП-10 ужасных практик, отвратительных приёмов и антипаттернов в программировании. Трилогия.
Программирование - это не всегда о красивом дизайне и элегантных решениях. Иногда за привлекательным внешним видом скрываются проблемы нестабильности, средненьких решений и неэффективных алгоритмов. Они как тёмные тени, проникающие в ум опытного или начинающего программиста, который может быть уверенным в своих силах или иногда усталым и даже ленивым.
Это методы и стратегии, которые следует избегать в любом проекте. Это вредные привычки, которые необходимо устранить, как в индивидуальном программировании, так и в коллективном творчестве. Эти особенности разработки не способствуют развитию продукта, а, наоборот, приводят к его ухудшению и гибели. Надеюсь, ты понял мою мысль, и завершим на этом, обойдясь без излишних метафор.

Информационные технологии в целом, а программирование в частности, представляют собой науку об упрощении окружающей реальности. Это искусство описания вещей наиболее простым и понятным способом, создание кратких метафор с использованием языков программирования. В этом заключается суть и основа нашего труда, в этом смысл нашей деятельности. Второй важный принцип программирования - это надежность работы разработанного продукта и предсказуемость результатов. Приятно видеть, когда эти принципы соблюдаются, и печально, когда их пренебрегают.
Когда мы говорим о том, что определенный программный код считается "качественным", мы имеем в виду не просто субъективное мнение, а соответствие этого кода определенным стандартам. Аналогично, когда мы называем другой код "плохим" или "ужасным", мы также оцениваем его согласно этим же стандартам. Оценка кода как "хорошего" или "плохого" зависит от его соответствия определенным стандартам (паттернам / принципам проектирования), которые программисты усваивают после многих лет практики и опыта. Сегодня мы рассмотрим эти стандарты в рамках данной трилогии.
Метрики качества и надежности программного кода 👨💻
Как известно, любую задачу можно выполнить с разным уровнем качества. Для каждого проекта можно подобрать различные компоненты - как качественные, так и некачественные. В зависимости от целей, бюджета, взглядов разработчика получаются разные результаты. Не стоит забывать о выборе парадигмы, программных библиотек и архитектуре создаваемых продуктов.
Хотя идеального состояния в природе не существует и не может существовать (ведь идеал всегда остается идеалом), все же лучше стремиться к позитивным и творческим начинаниям, чем делать что-то наугад. Лично я придерживаюсь именно такой точки зрения.

Собранные в данной трилогии образцы и примеры неправильных практик, представляют лишь малую часть проблемы. Если следовать принципу "программировать сразу, а потом думать" вместо "думать, а потом программировать", можно нанести серьезный ущерб, даже при умелом использовании различных методов. Однако, я настоятельно рекомендую подходить к программированию более взвешенно - сначала размышлять, а затем приступать к действиям.
Трилогия про программные продукты различного качества, типичные подходы людей к делам, и их результаты ☘️
Существует удивительный кинематографический шедевр под названием "Хороший, Плохой, Злой", который рассказывает о жизни трех совершенно разных людей, стремящихся к одной цели, но выбирающих совершенно разные пути. На первый взгляд можно подумать, что это типичный вестерн, и в чем-то это действительно так. Этот фильм является основоположником жанра "спагетти-вестерн" и открывает новую эпоху в искусстве кино. Однако, если проникнуть глубже, можно увидеть другую сторону - история о том, как одну и ту же задачу можно решить тремя разными способами: "Хорошим, Плохим и Злым". Какой из них победит? Какой потерпит поражение? Все это и многое другое рассматривается в данном фильме и в данной серии статей.
С программистской точки зрения, описанная выше тройственная концепция идеально вписывается. В сфере информационных технологий также существуют три основных подхода к разработке продуктов - "Правильный", "Неправильный" и "Злой". Считаю, что для начинающего программиста крайне важно различать хороший стиль работы от плохого. И, безусловно, стоит избегать использования "злых" практик, отдавая предпочтение "правильным" методам.
Почему же статья называется "ТОП-10 ужасных практик, отвратительных приёмов и антипаттернов в программировании"? Просто потому, что плохие приёмы в программировании применяются намного чаще, чем хорошие. Потому что создание некачественного кода происходит гораздо чаще, чем разработка продуманного и эффективного кода. Иногда безумие в исполнении, кривая архитектура и ужасная производительность программ становятся нормой для многих продуктов.
Для некоторых людей программирование - это способ заработка и источник дохода, а для других - это как волшебный ящик, полный загадок и тайн. Для внешнего наблюдателя специфика работы программиста кажется почти магией. Врача оценивают по тому, выздоровел ли пациент, а строителя - по тому, не развалился ли его дом. Фермера уважают за вкусный урожай. Многие профессии оцениваются по результатам, видимым невооруженным глазом. Не обязательно быть юристом, чтобы понять, что выигранное дело - это хороший результат работы юриста. И вот тут на сцену выходят программисты!
Результат работы разработчика - это абстрактная программа, всегда состоящая из двух ключевых компонентов. Первый компонент - это пользовательский интерфейс (или консоль). Второй компонент - это внутреннее устройство самой программы. Именно здесь заключается основной секрет! Только разработчики знают, насколько этот внутренний код эффективен, логичен и качественен. И, повторюсь, часто там находится не то, что ожидали бы пользователи. И об этом идет речь в нашей трилогии.
Недавно была опубликована первая часть статьи о том, кто такой "Хороший" и какие принципы он придерживается.

🔥 Нравится? Подпишись! Вместе мы одолеем восстание машин! 🔥

🚀 P.S. Если вы хотите не только читать о программировании, но и начать свой путь джедая прямо сейчас, приглашаем вас на Boosty! Там вы найдете эксклюзивный обучающий материал по программированию для любого уровня подготовки. Кроме того, вы сможете увидеть, как выглядит автор в реальной жизни. Нажмите здесь и отправляйтесь в путь!🚀
У меня также имеется Telegram-канал, где публикуются более простые и веселые посты. Ссылка на канал доступна в моем профиле.P.S.3 Для всех, кто ценит качественное кино, предлагаем посмотреть фильм "Хороший. Плохой. Злой". Особенно рекомендуется для тех, кто только начинает свой путь в программировании.
Comments