Я хотел бы знать, в практическом смысле, в крупномасштабном (Java - мой случай) проекте лучше всего просто написать защитную логику для защиты от недопустимых данных в БД или просто потратить время на прохождение и убедитесь, что вы не принимаете какие-либо неверные данные? Помните, проблема здесь в том, что во многих случаях нулевое значение в порядке, и во многих случаях нулевое значение отсутствует, поэтому случай, когда нет недопустимых данных, не является тривиальным.
Причина, по которой я спрашиваю, заключается в том, что я работаю над большим проектом и обнаруживаю, что гоняюсь за некоторыми неприятными исключениями нулевого указателя, только чтобы понять, что причина его выбрасывания заключается в том, что какое-то неясное свойство большого объекта не установлено. Итак, я пойду поговорить с системным инженером только для того, чтобы понять, что в проекте должно быть задано пользователем и т. Д.
Примечание: пожалуйста, не приписывайте эти проблемы просто "плохому проектированию систем". Вопрос о том, мог ли дизайн быть лучше, не является проблемой (поскольку очевидно, что любой дизайн может быть улучшен). Я хотел бы принять эту форму точки зрения разработчика, который уже присоединился к очень продвинутому проекту (с точки зрения затраченного времени и строк кода) и что он должен делать с этого момента?
Спасибо!
** Мне только что пришло в голову, что многие могут посчитать этот вопрос самоуверенным? Если это так, то каждый может сделать это вики-сообществом. Я не уверен, хотя. Может быть, существует некое соглашение или «хорошая практика», о которых многие не знают, и в последующем это не был бы самоуверенный вопрос, просто вопрос информирования меня, нового разработчика, об этой практике.