Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » Разное - Умеете ли Вы писать код без ошибок?

Ответить
Настройки темы
Разное - Умеете ли Вы писать код без ошибок?

Новый участник


Сообщения: 11
Благодарности: 1

Профиль | Отправить PM | Цитировать


Изменения
Автор: Eksworden
Дата: 30-10-2011
Внимательно просмотрел некоторые сообщения на форуме, которые касались синтаксических ошибок или ошибок в ходе компиляции. Когда мы используем какую-либо программу, иногда мы имеем дело с крешами или зависаниями. Используете ли вы какие-то методики или правила написания кода, что бы избежать ошибок при работе Вашей программы?

Отправлено: 13:43, 30-10-2011

 

Аватара для Delirium

Ветеран


Сообщения: 5623
Благодарности: 934

Профиль | Отправить PM | Цитировать


код без ошибок не умеет писать никто.Абсолютно никто. Но для начала, для новичков, весь код можно обрамлять через try...catch... Т.е. в случае ошибки программы не вылетает, а выдает заранее сформированное сообщение об ошибке. Таким образом выявляется 90% ошибок программы.
А впоследствии, когда приходит опыт, уже знаешь, куда смотреть, где что проверять и т.д. Хотя, как говорится, "100%-ную защиту от дурака" создать тяжело. Всегда найдутся те, кто нажмет что то так, как, по твоему мнению, сделать невозможно

-------

Пройденные курсы:
[Microsoft №10174 Sharepoint], [SharePoint]
Мои проекты:[CheckAdmins], [NetSend7], [System Uptime], [Remote RAdmin LogViewer],[Netdom GDI], [Holidays - напоминалка о днях рождения]

А я офис-гуру :)


Отправлено: 16:27, 30-10-2011 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Старожил


Сообщения: 193
Благодарности: 51

Профиль | Отправить PM | Цитировать


Цитата Eksworden:
синтаксических ошибок или ошибок в ходе компиляции »
Эти ошибки, как правило, в ступор вводят тех, кто в должной мере не знает язык, на котором пишет (как правило, новички, или наоборот те, кто давно на нем не писал). В очень редких случаях они могут указывать на ошибки проектирования, но как правило, просто ляпы по невнимательности, на их исправление тратиться ничтожная доля времени.
Методика проверки - скомпилировать
Цитата Eksworden:
с крешами или зависаниями »
От них никто не застрахован. 100% защиты точно не будет, поскольку пользователь, в отличие от программиста, думает по-другому, из-за этого, как правило, креши и бывают.
Основная методика защиты:
1. проверка корректности входных данных
2. проверка доступности ресурсов (например, доступность файла)
3. проверка указателей на NULL (и, как оборотная строна, присвоение NULL всем указателям, которые пусты)
4. проверка алгоритмов на сходимость
Хорошее средство - внимательное чтение кода.

Вроде основное сказал, вспомню еще - добавлю.

Последний раз редактировалось PhilB, 31-10-2011 в 18:33. Причина: дополнил п.3


Отправлено: 21:01, 30-10-2011 | #3


Ветеран


Contributor


Сообщения: 24481
Благодарности: 7115

Профиль | Отправить PM | Цитировать


Я бы добавил ещё одно: проверка предельных случаев.

Отправлено: 00:40, 31-10-2011 | #4


ИО Капитана Очевидности


Contributor


Сообщения: 5295
Благодарности: 1094

Профиль | Отправить PM | Цитировать


Цитата Eksworden:
Используете ли вы какие-то методики или правила написания кода, что бы избежать ошибок при работе Вашей программы? »
Методика номер 1 для C++ - никогда не работать со строками через "символьные указатели"

-------
Самое совершенное оружие, которым забиты арсеналы богатых и процветающих наций, может легко уничтожить необразованного, больного, бедного и голодного. Но оно не может уничтожить невежество, болезнь, нищету и голод. (Фидель Кастро)

Почему всех осужденных за измену Родине при Сталине реабилитировали при Горбачёве по отсутствию состава преступления? Потому что при Горбачёве измену Родине перестали считать преступлением.


Отправлено: 03:15, 31-10-2011 | #5


Новый участник


Сообщения: 11
Благодарности: 1

Профиль | Отправить PM | Цитировать


Цитата:
Delirium: код без ошибок не умеет писать никто. Абсолютно никто.
"Никогда не говори: никогда"

Благодарю Вас за ответы. Особенно мне понравился ответ PhilB. Сразу чувствуется, что он имел дело с этим в своей повседневной работе. Iska "проверка предельных случаев" - это профессионально.
Не могли бы Вы подсказать, какие ошибки проектирования наиболее часто встречаются и как их можно "отловить"?

Отправлено: 11:13, 31-10-2011 | #6


Ветеран


Сообщения: 1100
Благодарности: 138

Профиль | Отправить PM | Цитировать


Оййй! Если бы все знали заранее, какие ошибки всегда встречаются, и как их отловить, то программирование было бы плевым занятием!

Отправлено: 13:16, 31-10-2011 | #7


Старожил


Сообщения: 193
Благодарности: 51

Профиль | Отправить PM | Цитировать


Насчет крешей и зависания, добавлю:
1. Не использовать многопоточное программирование без четкого обоснования, что это дествительно нужно.
2. В каждом языке есть свои особенности, влияющие на стабильность. (То что в си приводит к к крешу, в php может оказаться всего лишь "notice").

Насчет ошибок проектирования.
Есть понятие антипаттерн , описывающее многие распрастраненные ошибки.

Последний раз редактировалось PhilB, 31-10-2011 в 18:50.


Отправлено: 18:43, 31-10-2011 | #8


Новый участник


Сообщения: 11
Благодарности: 1

Профиль | Отправить PM | Цитировать


Цитата:
Есть понятие антипаттерн , описывающее многие распрастраненные ошибки.
Спасибо за ответ. Антипаттернов существует очень много. Как Вы считаете, достаточно ли использовать "Шаблоны проектирования" для того, что бы избежать ошибок проектирования или необходимо придерживаться каких-то других подходов к проектированию?

Отправлено: 20:10, 31-10-2011 | #9


Старожил


Сообщения: 295
Благодарности: 30

Профиль | Отправить PM | Цитировать


Книжка по теме:

http://www.books.ru/books/kak-ne-nad...--5986-205269/

Когда прочёл, понял - от С++ лучше держаться подальше.

Отправлено: 23:04, 31-10-2011 | #10



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » Разное - Умеете ли Вы писать код без ошибок?

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
win2003 + Програма вылетает без ошибок Kobylyansky Microsoft Windows NT/2000/2003 1 28-04-2010 16:06
Копьютер перезагружаеться без синего экрана и без выдачи ошибок aqua5 Непонятные проблемы с Железом 2 03-10-2009 15:03
Умеете ли вы копить деньги?Если копите, то для чего и как? Davincy Флейм 22 07-11-2008 22:22
ребут компьютера без причины, без Bsod, без ошибок не ламер Непонятные проблемы с Железом 17 23-04-2008 13:59
Копирование без ошибок Apock Хочу все знать 2 13-10-2004 14:10




 
Переход