Основное защитное программирование
Возможный дубликат:
Любимые (Умные) Лучшие Практики Защитного Программирования
Некоторые программисты всегда советуют мне сосредоточиться на легкой отладке. Что такое защитное программирование и в какой степени его следует учитывать во время практики?
И еще один важный вопрос: есть ли ключевые моменты, которые следует учитывать при кодировании, и каковы они?
4 ответа
Посмотри на
- Оборонительное программирование
- Case Study - Защитное программирование
- Искусство защитного программирования
Защитное программирование - это идея, что разработчик делает столько предположений, сколько абсолютно необходимо. Кроме того, разработчик упреждающе создает код, который предвидит не только потенциальные проблемы, но и изменения спецификации.
Как правило, если вы ловите себя на мысли, что "это всегда будет правдой", напишите ASSERT( condition)
в этом месте. Наверное, в этом и заключается суть защитного программирования;).
Если защитное программирование подразумевает только одну вещь, это следует широко использовать.
Вот хорошая статья о том, когда и где использовать assert
,
Есть много ситуаций, когда полезно использовать утверждения. Этот раздел охватывает некоторые из них:
* Internal Invariants * Control-Flow Invariants * Preconditions, Postconditions, and Class Invariants
http://en.wikipedia.org/wiki/Defensive_programming
Защитное программирование означает, что вы проверяете, существует ли файл и есть ли у вас права на его открытие, а не просто пытаетесь открыть его и перехватывать любые возможные исключения. (Просто пример)