Описание тега defensive-programming
Defensive programming is a form of defensive design intended to ensure the continuing function of a piece of software in spite of unforeseeable usage of said software. Defensive programming techniques are used especially when a piece of software could be misused mischievously or inadvertently to catastrophic effect.
1
ответ
Класс исключения объявлен, но не брошен
Здесь тест не выбрасывает объект Exception, но я его обработал. Поскольку исключение является проверенным исключением, оно не должно вызывать ошибку компилятора недоступного кода в блоке catch class Ece extends Exception {} public class Excep { publ…
02 сен '18 в 10:40
5
ответов
Является ли этот код защитным программированием или плохой практикой?
У меня есть спор с моим коллегой об этом куске кода: var y = null; if (x.parent != null) y = x.parent.somefield; Моя точка зрения заключается в том, что в том месте, где код, x.parent НЕ МОЖЕТ БЫТЬ НУЛЬ. И когда это ноль, у нас есть серьезная пробле…
07 мар '14 в 00:46
14
ответов
Насколько оборонительно я должен программировать?
Я работал с небольшой подпрограммой, которая используется для создания подключения к базе данных: До public DbConnection GetConnection(String connectionName) { ConnectionStringSettings cs= ConfigurationManager.ConnectionStrings[connectionName]; DbPr…
27 июн '09 в 17:10
2
ответа
Добавить защитную копию объекта в хешсет
В настоящее время у меня есть этот код: public final class Tutor { private String name; private final Set<Student> tutees; public Tutor(String name, Student[] students){ this.name = name; tutees = new HashSet<Student>(); for (int i = 0; …
24 май '17 в 14:29
3
ответа
Как я могу проверить аргументы в методе из интерфейса, не нарушая принцип СУХОЙ
У меня есть следующий код: public interface Person { /*** *@Throws Exception x must be greater than 0 ****/ setAge(int x); } public class Man implements Person { setAge(int x) { if(x <= 0) thrown new Exception("x <= "); } } Я нарушил принцип С…
30 ноя '14 в 06:22
7
ответов
Как я могу объявить производные классы "оболочки", которые делают только переименования?
У меня есть два разных типа строк, которые я передаю и использую в своем коде, и они тесно связаны, но их не следует путать друг с другом. Я думал, что смогу помочь себе избежать ошибок, имея два класса, которые являются просто строками, но с разным…
21 июн '12 в 14:46
2
ответа
Будет ли макрос `assert` удален в C++20?
Согласно cppreference, assert будет использоваться как атрибут C++. Тем не менее, уже существуют тонны проектов, сильно зависящих от макроса assertЕсть ли плохой эффект?
19 сен '18 в 02:32
3
ответа
Можно ли сделать этот класс более неизменным?
package main; import java.util.Collections; import java.util.HashSet; import java.util.Set; public final class Tutor { private final String name; private final Set<Student> tutees; public Tutor(String name, Student[] students) { this.name = na…
20 авг '15 в 02:44
1
ответ
IOrderedEnumerable и защитное программирование
Я увлекаюсь защитным программированием. Я ненавижу бросать исключения, но это не предмет моего вопроса. Я адаптировал расширение для linQ, чтобы иметь возможность выполнять заказ с именем столбца public static IEnumerable<T> OrderBy<T>(t…
24 ноя '09 в 18:20
6
ответов
Как еще можно оптимизировать этот код для защитного программирования?
Для моего проекта структур данных цель состоит в том, чтобы прочитать в предоставленном файле, содержащем более 10000 песен, с четко обозначенным исполнителем, названием и текстом, и каждая песня отделена строкой с одной двойной кавычкой. Я написал …
21 сен '10 в 01:39
7
ответов
C Синтаксис Вопрос
Считается ли плохим кодированием ставить разрыв в части по умолчанию оператора switch? В книге, которую я читал, говорилось, что она не обязательна, но учитель рассчитывал на ее использование.
19 сен '11 в 20:10
3
ответа
Получение значимых сообщений об ошибках от fstream в C++
Каков наилучший способ получить осмысленные сообщения об ошибках доступа к файлам переносимым способом из std::fstreams? Примитивность badbits а также failbits становится немного раздражающим. Я уже писал свои собственные иерархии исключений для win…
14 апр '10 в 16:52
2
ответа
Безопасный по умолчанию уровень Django ORM --- как?
Я управляю магазином Django, где мы обслуживаем каждого нашего клиента графом объектов, который полностью отделен от графов всех других клиентов. Данные являются умеренно чувствительными, поэтому я не хочу, чтобы какая-либо из них передавалась от од…
17 фев '13 в 04:28
5
ответов
Конструкторы копирования и защитное копирование
Что такое конструктор копирования ? Может ли кто-нибудь поделиться небольшим примером, который может быть полезен для понимания наряду с защитным принципом копирования ?
22 фев '13 в 09:31
2
ответа
CLR: если конструктор потерпит неудачу, он всегда будет выдавать исключение?
В Delphi, если во время создания объекта возникло исключение: любая выделенная память будет освобождена и будет сгенерировано исключение. Например, следующее гарантированно либо вернет действительный Camera возразить или сгенерировать исключение: Ca…
28 июн '09 в 04:14
1
ответ
Как сообщить об ошибках в R?
Обновление: Вопрос закрыт, теперь обсуждается на платформе RStudio Community. Я пытаюсь защищаться при разработке пакета, используя много проверок ввода. В частности, я полагаюсь на множество готовых утверждений в checkmate, testthat и т. П., Которы…
02 фев '18 в 21:49
4
ответа
Основное защитное программирование
Возможный дубликат: Любимые (Умные) Лучшие Практики Защитного Программирования Некоторые программисты всегда советуют мне сосредоточиться на легкой отладке. Что такое защитное программирование и в какой степени его следует учитывать во время практик…
19 дек '09 в 11:24
1
ответ
Каков наилучший способ отправки защитной копии данных?
Я только что прочитал эффективное правило Java 39 (Защитная копия). В явном виде не указывается, что для каждой транзакции данных должно выполняться два раза копирования, чтобы следовать этому правилу. Ниже приведен пример кода, который я подумал. Э…
06 янв '18 в 14:26
4
ответа
Защитные копии Java
Я видел защитные копии, закодированные так void someMethod(Date d) { myDate = new Date( d.getTime() ); } Но это не имеет смысла для меня, разве в Java нет способа создать идентичную копию в памяти этого объекта? Я прочитал clone() не будет работать …
10 фев '10 в 04:38
4
ответа
Надежная структура кода?
Я ненавижу писать код, который делает мое программное обеспечение более надежным. Это то, что должна была сделать структура! Итак, кто-нибудь знает об утилите "улучшения" кода, которая укрепляет код? Если бы мне пришлось самому создать что-то подобн…
13 янв '10 в 07:57