Рубрика «чистый код»
Роберт, ты мне не дядюшка
2025-01-21 в 16:02, admin, рубрики: дядюшка боб, Программирование, рефакторинг, чистый кодГрязный код
2024-12-09 в 13:01, admin, рубрики: htmx, ruvds_переводы, интеграционные тесты, принцип единой ответственности, чистый код, юнит-тесты
Эдсгер Дейкстра: «Грязно и быстро — мне это не понравится»
«Чтобы иметь право называть себя профессионалом, вы должны писать чистый код. Нет никаких разумных оправданий тому, чтобы не стремиться к лучшему». Clean Code
В этом эссе я хочу рассказать о том, как пишу код. Я буду называть свою методику «грязным кодом», потому что часто нарушаю рекомендации «чистого кода» — популярной концепции написания кода.
Вообще, я на самом деле не считаю свой код абсолютно грязным: местами он немного уродлив, но по большей части я им доволен, и он достаточно прост в поддержке, обеспечивая при этом разумные уровни качества.
Кроме того, я не пытаюсь своим эссе убедить вас писать грязный код. Скорее, я хочу показать, что таким способом можно писать достаточно успешное ПО, и, надеюсь обеспечить некий баланс в обсуждениях методологий разработки ПО.
Я программирую уже довольно давно и видел разнообразные подходы к обеспечению работоспособности ПО. Кто-то любит объектно-ориентированное программирование (я тоже), другие умные люди его ненавидят. Кому-то нравится выразительность динамических языков, кого-то она бесит. Кто-то успешно выпускает программы, строго следуя концепции Test Driven Development, другие добавляют в конце проекта несколько сквозных тестов, а многие остаются где-то посередине этих крайних точек.
Я был свидетелем проектов, выпускавших и поддерживавших успешное ПО на основе всех этих разнообразных подходов.
Поэтому повторюсь, что моя цель не убедить вас, что мой способ кодинга единственно возможный, а показать вам (и в особенности начинающим разработчикам, которых легко запугать терминами наподобие «чистого кода»), что можно иметь успешную карьеру программиста, пользуясь множеством различных подходов, и что мой — один из них. Читать полностью »
Основы чистого кода на Python (PEP8, SOLID, ООП) ::: часть 1
2024-08-17 в 9:15, admin, рубрики: clean architecture, clean code, DRY, KISS, pep8, python, solid, unix-way, ооп, чистый кодКогда вы уже написали несколько своих небольших пет-проектов, вы начинаете понимать что чистый код, архитектура и другие паттерны программирования начинают иметь смысл. В масштабируемых, командный или коммерческих проектах это несет особую ценность. Изучив эти принципы, новички получат представление о построении надежных, гибких и легко тестируемых приложений, что позволит им сохранить ясность кодовой базы и возможность ее сопровождения по мере роста их проектов.
Принципы SOLID, только понятно
2024-04-29 в 10:15, admin, рубрики: c++, java, solid, код, ооп, паттерны, принципы, Программирование, проектирование, чистый кодКогда я только знакомился с принципами SOLID, я искал понятные статьи на Хабр. При этом пришлось прочитать не одну статью, и полное понимание пришло сильно позже. Хотелось бы, чтобы новички на более простых примерах смогли почувствовать, о чем эти принципы:
Что такое SOLID и зачем оно надо?
При написании кода программисту следует руководствоваться определенными правилами. Часто эти правила написаны если не кровью, то слезами разработчиков, которые потом стараются исправить ваш код. Если это вообще возможно :)
Принципы S.O.L.I.D.Читать полностью »
Костыли из 90-х и принцип HTML First
2024-02-26 в 9:00, admin, рубрики: alpine, css, gsap, html, HTML First, hyperscript, JS, JSSS, Netscape Navigator, pwa, React, ruvds_статьи, svg, Svija Vibe, Tachyons, Tailwind, wasm, webassembly, костыли, чистый код
Кадр из презентации Frontmania 2022: Kilian Valkhof — Stop using JavaScript for that
Недавно на Хабре публиковался перевод статьи «Вам не нужен для этого JavaScript» с примерами, где код JS легко заменить на HTML.
На самом деле возврат к основам HTML, простым сайтам и читаемому коду без сложных фреймворков — довольно популярная идея. Сейчас всё больше сайтов создаётся по принципу HTML First.
Читать полностью »
Как проклятие невидимой стены ждало меня 20 лет
2023-11-17 в 8:01, admin, рубрики: timeweb_статьи, геймдев, погромист, факап, чистый кодКогда на меня накатывает хандра, я бросаю всё и пилю свой игровой движок. Это неблагодарное занятие, но меня прёт.
В самом начале у меня были такие планы: вжух-вжух, щас возьму ведро, накидаю туда всяких библиотек для графики, физики и звуков, добавлю сетевую библиотеку по вкусу, перемешаю всё с какой-нибудь системой сообщений, и готово. Приключение на 15 минут.
И вот я тут спустя 5 лет.Читать полностью »
Clean Git History, или Тёмная сторона VCS
2023-08-15 в 12:43, admin, рубрики: Git, ozon tech, rebase, VCS, коммит, чистый кодВсем привет! Меня зовут Маша, и я Golang Backend Developer в компании Ozon. В этой статье я хотела бы поговорить о теме, так или иначе объединяющую все сферы нашего любимого мира IT. А именно — VCS Git.

«Чистый» код, ужасная производительность
2023-04-13 в 11:23, admin, рубрики: c++, Блог компании Sportmaster Lab, высокая производительность, Программирование, производительность, Совершенный код, чистый кодНа самом деле, большая доля этих правил не влияет на среду исполнения кода, который вы пишете. Подобные правила невозможно оценить объективно, да это и необязательно, ведь на этом этапе они достаточно произвольны. Однако есть правила «чистого» кода, на которые делают особый упор — это правила, которые можно измерить объективно, поскольку они влияют на поведение кода в среде исполнения.
Если посмотреть на список правил «чистого» кода и вытащить из него правила, которые действительно влияют на структуру кода, то мы получим следующее:
- Отдавайте предпочтение полиморфизму, а не «if/else» и «switch»
- Код не должен знать о внутреннем устройстве объектов, с которыми он работает
- Функции должны быть маленькими
- Каждая функция должна выполнять одну задачу
- Принцип «DRY» — Don’t Repeat Yourself («не повторяйся»)
Эти правила достаточно чётко формулируют то, как должен создаваться конкретный фрагмент кода, чтобы быть «чистым». Но я задам такой вопрос: если мы создадим фрагмент кода, соответствующий этим правилам, какова будет его производительность?
Читать полностью »
На что способен хороший отладчик
2023-03-18 в 20:16, admin, рубрики: c++, Visual Studio, высокая производительность, исследование, отладка, Программирование, чистый кодПорой приходится слышать: «Отладчики бесполезны, гораздо целесообразнее иметь дело с логированием и модульными тестами». Подозреваю, что многие из разделяющих такое мнение думают, будто отладчик только и может, что расставлять точки останова на определённых строках, пошагово просматривать код и проверять значения переменных. Притом, что любой годный отладчик действительно всё это может, на самом деле это только верхушка айсберга. Задумайтесь: мы уже вполне можем наткнуться на код, которому около 40 лет – наверняка же с тех пор что-то изменилось?
Tl;drЧитать полностью »
О вреде GOTO-фобии (с примерами на C)
2023-03-04 в 21:36, admin, рубрики: C, GOTO, Алгоритмы, Программирование, Совершенный код, чистый кодГотофобия – это боязнь использовать инструкции goto. Обычно возникает из-за непонимания и незнания контекста этой проблемы, а также из-за историй о незапамятных временах в истории программировании. Разработчики, страдающие готофобией, готовы жертвовать удобочитаемостью своего кода, только бы не прибегать к goto.
Каждая собака знает (уже мемородный) заголовок статьи Дейкстры Letters to the editor: go to statement considered harmful («О вреде оператора Go To») (изначально эта статья называлась A case against the goto statementЧитать полностью »