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

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

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

Программирование
Сергей Чистович
  ·   · 820,5 K
Образовательная платформа Хекслет  · 23 нояб 2020  · ru.hexlet.io

В принципе написание кода без багов очень сложная задача. Лично мне кажется, что невыполнимая. Даже при большом опыте держать в голове всё возможное поведение и предугадать все сценарии работы кода почти невозможно.

Но надо отметить, что чем больше опыта, тем больше вы знаете узких мест, которые нуждаются в обработке.

Если привести базовые рекомендации, то я бы рекомендовал изначально просчитывать следующие моменты:

  1. Определите граничные случаи. Например, если вы программируете фильтр по ценам в интернет магазине, то обработайте вначале невозможные сценарии: отрицательные значения и ноль. Если вам нужно оперировать только целыми числами, то обрабатывайте поступление отрицательных. Сделав это в самом начале вы не только оптимизируете код, но и не забудете этого сделать потом.

  2. Чем проще код, тем проще его отлаживать. Старайтесь уходить от неоправданной сложности. Вместо огромного количества вложенных циклов лучше создать пару отдельных функций. Это поможет быстрее понять как меняются данные.

  3. Правильное именование перемененных/функций/классов/методов — залог хорошего кода. Он просто читается, а следовательно в нём проще найти логическую ошибку или просто не допустить его. Ведь понять код a = b->c намного сложнее, чем cars = animals->cats. Найти логическую ошибку во втором варианте возможно даже не программисту.

  4. Разделяйте код. Нет необходимости делать большую мешанину из различного кода, который не связан между собой. Можно вынести многие функции отдельно и во-первых, переиспользовать их, а во-вторых дать им понятные имена.

  5. Пишите тесты. Не полагайтесь только на свой опыт. Весь код можно покрыть тестами, которые будут постоянно проверять, что нигде не нарушилась логика. Так вы сможете больше контролировать свой код и не допустите выкладывание продукта, в котором логика нарушена.

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

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

Первый
Программист, системный администратор  · 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
Писать коротко. Писать только методом копипасты. Перепроверять накопипащенное. Давать проверить и потом перепроверить кому-либо еще.Прежде чем поставить статус "я написал" протестировать всеми доступными способами, тихонько... Читать далее