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

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

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

Программирование
Сергей Чистович
  ·   · 821,8 K
Разработчик (программист), геймер, фотограф и элек...  · 20 сент 2021
Никак. Так или иначе, в сложном коде баги возникают по той или иной причине, даже если код тщательно тестируется. Учесть все возможные наборы входных данных для всех функций очень сложно, всегда есть риск что какой-то случай не протестирован.
Правильный вопрос "как писать код с минимумом багов".
Ответ: следовать правилам, что давно уже разработаны для программистов, например SOLID (и не только), и писать unit-тесты.
Старайтесь любой код сводить к набору маленьких функций, которые уже вызываются функциями уровнем выше, и ещё выше.
Начиная с самых небольших, простых функций, пишите unit-тесты на них с хотя бы каким-то минимальным набором данных. Например, если в функции есть математические расчёты с делением - не забывайте проверить функцию тестом с входными данными, приводящими к делению на ноль (да, это совсем примитивный пример, но зато наглядный), убедитесь что функция вернёт корректную и понятную ошибку.
Любую сколько-то сложную систему просто невозможно протестировать на 100% "извне" (например, через API), потому именно unit-тесты на каждую, даже самую незначительную, казалось бы, функцию, просто необходимы.
Также набор тестов защищает от регрессии кода. Зачем это нужно? Потому что, если вы тестируете функции только вручную, то через год или два (а может и раньше) туда может кто-то полезть функцию менять, и это изменение приведёт к неработоспособности ранее работоспособного кода, т.к. функция вела себя некоторым определённым образом, это поведение было протестировано, всё стабильно работало, а затем по необходимости функцию модифицировали, но допустили ошибку, которая привела к проблемам в ряде функций, что используют данную функцию.
Редактор, Веб, Бэкенд, 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
Погромист на C#  · 23 дек 2021
Встречный вопрос: А нужно ли? А что готовы за это дать? 1. Составить спецификацию программы, которая покрывает в том числе и граничные случаи с неправильным вводом. 2. Написать тесты, в соответствие с этой спецификацией 3... Читать далее
Просто быть собой
Я программист, в большей части FullStack. Изучаю...  · 15 сент 2021  · github.com/Damfler
Дам конечно не самый идеальный совет, но тот, который мне помогает писать код! Всегда выводите результат, написали пару строчек, выведите результат, проверьте, все правильно? Да? Пишите дальше и так по кругу. Создавайте файлы... Читать далее
Разработчик программного обеспечения 5G ML/AI...  · 26 авг 2021
Очень философский вопрос. Наверное, стоит начать с того, чтобы определить для себя, что считать багом в коде. Это не вполне тривиальная задача и в общем случае такое определение можно делать после того, как вы сделали... Читать далее
Родился, учился и работал в СССР. Инженер-оптик...  · 11 авг 2021
Писать коротко. Писать только методом копипасты. Перепроверять накопипащенное. Давать проверить и потом перепроверить кому-либо еще.Прежде чем поставить статус "я написал" протестировать всеми доступными способами, тихонько... Читать далее