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

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

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

Программирование
Сергей Чистович
  ·   · 821,1 K
Погромист на C#  · 23 дек 2021
Встречный вопрос: А нужно ли? А что готовы за это дать?
  1. Составить спецификацию программы, которая покрывает в том числе и граничные случаи с неправильным вводом.
  2. Написать тесты, в соответствие с этой спецификацией
  3. Написать тесты на тесты (использовать мутационное тестирование, чтобы контролировать покрытие тестов)
  4. Написать код, который все тесты пройдёт. (в идеале - писать на каком-нибудь языке, который можно формально верифицировать. На Coq или F*, например)
  5. Понять, что ещё важна производительность, отсутствие проблем с памятью, и что существуют баги с многопоточностью.
  6. Добавить performance тесты, тесты на утечки памяти, и тесты на многопоточные баги (которые прогоняются миллионы раз, чтобы вызвать race condition)
  7. Повторить шаг 3.
В теории, такой подход даст в результате программу без багов (по крайней мере полное соответствие спецификации). Но за x100 к стоимости.
Добиться почти полного избавления от багов можно просто достаточно детальным тестированием и проработкой спецификации.
Ну и чем раньше начнёшь тестировать - тем дешевле будет фиксить баги.
Просто быть собой
Редактор, Веб, Бэкенд, Unity разработчик.   · 30 сент 2021  ·
mirazhov
Как-бы хорошо не звучала фраза "Писать код без багов ввозможно!" . такое можно применить лишь к простейшим кодам , ибо если хочешь написать хороший код , без багов это невозможно. Как уже сказали в ответах на этот вопрос... Читать далее
Подписывайтесь:)Перейти на vk.com/mirazhov
1 эксперт согласен
Можно еще добавить, своевременно исправлять. В какой то момент, баги, могут стать фичами, их будут использовать в... Читать дальше
Первый
Python Developer, VK Feed Expert, AI Operator.  · 8 окт 2021
Не оптимизируйте код заранее. Идея усложнить код ради его ускорения почти всегда ошибочна. Исключение возможно только в том случае, когда именно этот участок код “тормозит” так, что это уже заметно на уровне продукта или... Читать далее
1 эксперт согласен
Количество багов прямо пропорционально объёму и сложности проекта. Чем проект меньше и проще, тем меньше в нём багов на этапе разработки. С увеличением объёма кода багов будет больше. Опыт не даст полного отсутствия багов, а... Читать далее
1 эксперт согласен

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

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