Теперь Кью работает в режиме чтения

Мы сохранили весь контент, но добавить что-то новое уже нельзя

Как писать код без багов?

Программирование
Сергей Чистович
  ·   · 822,1 K
Первый
Python Developer, VK Feed Expert, AI Operator.  · 8 окт 2021
Не оптимизируйте код заранее. Идея усложнить код ради его ускорения почти всегда ошибочна. Исключение возможно только в том случае, когда именно этот участок код “тормозит” так, что это уже заметно на уровне продукта или бизнеса. “Пессимизировать” код тоже, конечно, не нужно, из двух версий, одинаковых по сложности и по объему кода, выбирайте более быструю. Из этого есть важное следствие: нельзя дублировать данные и нельзя кешировать результаты вычислений там, где этого не требует во весь голос производительность. Больше половины структурных багов возникает из-за того, что “разъехались” кэш и реальные данные, причем еще и отлаживать такое обычно адски сложно, потому что в момент собственно “разъезжания” никакого бага еще не видно, он проявится потом, когда ставить breakpoint-ы и проходить исполнение по шагам уже поздно.
Не смешивайте алгоритмы и другие технологически сложные участки кода с бизнес-логикой. Выразительности современных языков программирования вполне достаточно для того, чтобы, скажем, графический движок компьютерной игры ничего не знал о ниндзя и вертолётах, функции работы с БД в CRM-системе не знали слов “счёт” и “клиент”, и т.д. и т.п.
Стоит выкинуть из головы все ООП. Единственное полезное, что в императивные языки пришло из этой идеологии - модификаторы private. Иерархии классов это зло, наследовать реализации нужно себе запретить. Наследовать можно интерфейсы, и то не слишком много уровней. Агрегация почти всегда лучше наследования. Большая часть классических “шаблонов проектирования” уже либо устарела, либо нашла поддержку на уровне языка.
Каждая лишняя строчка кода это зло. Там, где это вообще возможно, не стоит пользоваться чужим кодом, который вы не прочитали и не поняли от и до. Это касается в том числе и широко известных библиотек и фреймворков общего назначения. Чем меньше кода (включая и тот, который пишешь сам, и тот, от которого зависишь) - тем лучше.
1 эксперт согласен
Редактор, Веб, Бэкенд, Unity разработчик.   · 30 сент 2021  ·
mirazhov
Как-бы хорошо не звучала фраза "Писать код без багов ввозможно!" . такое можно применить лишь к простейшим кодам , ибо если хочешь написать хороший код , без багов это невозможно. Как уже сказали в ответах на этот вопрос... Читать далее
Подписывайтесь:)Перейти на vk.com/mirazhov
1 эксперт согласен
Можно еще добавить, своевременно исправлять. В какой то момент, баги, могут стать фичами, их будут использовать в... Читать дальше
Количество багов прямо пропорционально объёму и сложности проекта. Чем проект меньше и проще, тем меньше в нём багов на этапе разработки. С увеличением объёма кода багов будет больше. Опыт не даст полного отсутствия багов, а... Читать далее
1 эксперт согласен

Больше тестов - меньше багов.

Образовательная платформа Хекслет  · 23 нояб 2020  · ru.hexlet.io
В принципе написание кода без багов очень сложная задача. Лично мне кажется, что невыполнимая. Даже при большом опыте держать в голове всё возможное поведение и предугадать все сценарии работы кода почти невозможно. Но надо... Читать далее
Помогаем новичкам освоить профессию веб-разработчикаПерейти на ru.hexlet.io/webinars
Первый
Программист, системный администратор  · 16 нояб 2021
Ну во-первых без багов написать большой код очень трудно. чем больше строк кода тем возможно больше допустить ошибок. Поэтому надо писать небольшие процедуры и каждую отлаживать и оптимизировать отдельно. Очень помогает когда... Читать далее
Чтобы писать код без багов, лучше использовать какие-либо существующие методы написания правильного кода. Благо их... Читать дальше
Занимаюсь веб-разработкой уже много лет. Разрабаты...  · 27 авг 2021  · code-guru.ru
Сразу написать код без багов на практике невозможно. Для одного и того же функционала существуют много пользовательских сценариев. Все эти сценарии невозможно предугадывать заранее, потому что программой пользуются пользователи... Читать далее
Разработка сложных сайтовПерейти на vk.com/code_guru
Погромист на C#  · 23 дек 2021
Встречный вопрос: А нужно ли? А что готовы за это дать? 1. Составить спецификацию программы, которая покрывает в том числе и граничные случаи с неправильным вводом. 2. Написать тесты, в соответствие с этой спецификацией 3... Читать далее
Просто быть собой
Я программист, в большей части FullStack. Изучаю...  · 15 сент 2021  · github.com/Damfler
Дам конечно не самый идеальный совет, но тот, который мне помогает писать код! Всегда выводите результат, написали пару строчек, выведите результат, проверьте, все правильно? Да? Пишите дальше и так по кругу. Создавайте файлы... Читать далее
Разработчик программного обеспечения 5G ML/AI...  · 26 авг 2021
Очень философский вопрос. Наверное, стоит начать с того, чтобы определить для себя, что считать багом в коде. Это не вполне тривиальная задача и в общем случае такое определение можно делать после того, как вы сделали... Читать далее
Родился, учился и работал в СССР. Инженер-оптик...  · 11 авг 2021
Писать коротко. Писать только методом копипасты. Перепроверять накопипащенное. Давать проверить и потом перепроверить кому-либо еще.Прежде чем поставить статус "я написал" протестировать всеми доступными способами, тихонько... Читать далее