|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » Разное - Умеете ли Вы писать код без ошибок? |
|
|
Разное - Умеете ли Вы писать код без ошибок?
|
Новый участник Сообщения: 11 |
Внимательно просмотрел некоторые сообщения на форуме, которые касались синтаксических ошибок или ошибок в ходе компиляции. Когда мы используем какую-либо программу, иногда мы имеем дело с крешами или зависаниями. Используете ли вы какие-то методики или правила написания кода, что бы избежать ошибок при работе Вашей программы?
|
|
Отправлено: 13:43, 30-10-2011 |
Ветеран Сообщения: 5624
|
Профиль | Отправить PM | Цитировать код без ошибок не умеет писать никто.Абсолютно никто. Но для начала, для новичков, весь код можно обрамлять через try...catch... Т.е. в случае ошибки программы не вылетает, а выдает заранее сформированное сообщение об ошибке. Таким образом выявляется 90% ошибок программы.
А впоследствии, когда приходит опыт, уже знаешь, куда смотреть, где что проверять и т.д. Хотя, как говорится, "100%-ную защиту от дурака" создать тяжело. Всегда найдутся те, кто нажмет что то так, как, по твоему мнению, сделать невозможно ![]() |
------- Отправлено: 16:27, 30-10-2011 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Старожил Сообщения: 198
|
Профиль | Отправить PM | Цитировать Цитата Eksworden:
Методика проверки - скомпилировать ![]() Цитата Eksworden:
Основная методика защиты: 1. проверка корректности входных данных 2. проверка доступности ресурсов (например, доступность файла) 3. проверка указателей на NULL (и, как оборотная строна, присвоение NULL всем указателям, которые пусты) 4. проверка алгоритмов на сходимость Хорошее средство - внимательное чтение кода. ![]() Вроде основное сказал, вспомню еще - добавлю. ![]() |
||
Последний раз редактировалось PhilB, 31-10-2011 в 18:33. Причина: дополнил п.3 Отправлено: 21:01, 30-10-2011 | #3 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Я бы добавил ещё одно: проверка предельных случаев.
|
Отправлено: 00:40, 31-10-2011 | #4 |
ИО Капитана Очевидности Сообщения: 5387
|
Профиль | Отправить PM | Цитировать Цитата Eksworden:
|
||
------- Отправлено: 03:15, 31-10-2011 | #5 |
Новый участник Сообщения: 11
|
Профиль | Отправить PM | Цитировать Цитата:
![]() Благодарю Вас за ответы. Особенно мне понравился ответ PhilB. Сразу чувствуется, что он имел дело с этим в своей повседневной работе. Iska "проверка предельных случаев" - это профессионально. Не могли бы Вы подсказать, какие ошибки проектирования наиболее часто встречаются и как их можно "отловить"? |
|
Отправлено: 11:13, 31-10-2011 | #6 |
Ветеран Сообщения: 1730
|
Профиль | Отправить PM | Цитировать Оййй! Если бы все знали заранее, какие ошибки всегда встречаются, и как их отловить, то программирование было бы плевым занятием!
|
Отправлено: 13:16, 31-10-2011 | #7 |
Старожил Сообщения: 198
|
Профиль | Отправить PM | Цитировать Насчет крешей и зависания, добавлю:
1. Не использовать многопоточное программирование без четкого обоснования, что это дествительно нужно. 2. В каждом языке есть свои особенности, влияющие на стабильность. (То что в си приводит к к крешу, в php может оказаться всего лишь "notice"). Насчет ошибок проектирования. Есть понятие антипаттерн , описывающее многие распрастраненные ошибки. |
Последний раз редактировалось PhilB, 31-10-2011 в 18:50. Отправлено: 18:43, 31-10-2011 | #8 |
Новый участник Сообщения: 11
|
Профиль | Отправить PM | Цитировать Цитата:
|
|
Отправлено: 20:10, 31-10-2011 | #9 |
Старожил Сообщения: 295
|
Профиль | Отправить PM | Цитировать Книжка по теме:
http://www.books.ru/books/kak-ne-nad...--5986-205269/ Когда прочёл, понял - от С++ лучше держаться подальше. |
Отправлено: 23:04, 31-10-2011 | #10 |
|
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Умеете ли вы копить деньги?Если копите, то для чего и как? | Davincy | Флейм | 34 | 27-05-2020 17:20 | |
win2003 + Програма вылетает без ошибок | Kobylyansky | Microsoft Windows NT/2000/2003 | 1 | 28-04-2010 16:06 | |
Копьютер перезагружаеться без синего экрана и без выдачи ошибок | aqua5 | Непонятные проблемы с Железом | 2 | 03-10-2009 15:03 | |
ребут компьютера без причины, без Bsod, без ошибок | не ламер | Непонятные проблемы с Железом | 17 | 23-04-2008 13:59 | |
Копирование без ошибок | Apock | Хочу все знать | 2 | 13-10-2004 14:10 |
|