Разработка программного обеспечения, баз данных и веб-разработки имеют задо-кументиронные «best practices», а также отраслевые стандарты и соглашения, но ими легко пренебречь в пользу быстрого решения. Но что именно мы подразумеваем под «Best Practice Design»? Следующая статья объясняет эти методы и что они значат для вас, как клиентов.
Если Ваше приложение разработано с использованием «Best Practice», то оно должно быть:
Некоторые из наиболее важных «best practices» приведены в следующих пунктах:
Что это такое? - Организация таблиц данных базы данных, для устранения не-которых общих проблем и ошибок базы данных, а также для защиты целостности данных. Почему это важно? - Реляционная база данных, которая не нормализована, мо-жет привести к дублированию данных.
Что это? - Средство защиты целостности данных в базе данных. По сути это означает, что запись не может быть создана или удалена, пока любые связанные записи не были уже созданы или удалены. Например, заказ не может быть удален из базы данных, по-ка остаются детали данного заказа. Почему это важно? – Ссылочная целостность означает, что сама система забо-тится о целостности данных, а не полагается на пользователя.
Что это такое? - Практика кодирования исправления ошибок, возникающих внутри приложения. Почему это так важно? - В случае возникновения ошибки без программного перехвата ошибки, система может остановится или же может быть показано сообщение об ошибке, содержание которого для конечного пользователя будет не понятно. Программный перехват ошибок гарантирует, что ошибка будет обработана «изящно» с понятными сооб-щениями об ошибках, которые показываются конечному пользователю.
Что это такое? – Обеспечивает то, что данные, введенные в систему отвечает определенным правилам (например дата окончания должна быть позже даты начала) Почему это важно? - GIGO, что означает Garbage In equals Garbage Out (Входя-щий мусор равен Исходящему). База данных только тогда хороша, когда способна как можно больше отфильтровать ввод некорректных данных.
Что это такое? - Проверка, что версия приложения, которую вы используете — актуальна. Это имеет особое значение с клиент-серверными приложениями, где приложение «разделено» на две части. Почему это так важно? - Если существует расхождение между версиями (например пользователь войдет в версию 2.1 базы данных с 1.1-интерфейса), то система мо-жет остановится или привести к ошибкам в данных.
Что это? - Ведение журнала изменений, внесенные в работающем приложении - например, почему изменение было внесено, когда это было сделано, каков новый номер версии, кто сделал его, какие части системы были затронуты и т.д. Почему это важно? - Если в дальнейшем Вы обнаруживаете новые ошибки или несоответствия, очень полезно иметь возможность рассмотреть все изменения, которые, возможно, затронули ту или иную часть системы. Она также может быть полезным для службы поддержки
Что это? - Использование обновляемых таблиц для управления дизайном при-ложения. Почему это важно? - Гарантирует, что конструктивные изменения осуществля-ются последовательно. Табличный дизайн также позволяет чтобы некоторые задачи были выполнены пользователем, а не разработчиком, тем самым ускоряет процесс обновления дизайна.
Что это такое? - Соглашение об именах устанавливает стандарт для имен объ-ектов приложения. Почему это так важно? - Соглашение об именах помогает любому разработчи-ку, глядя на приложения понять его внутренние детали гораздо быстрее, чем если бы согла-шение об именах не применялось. На практике система с хорошем внутренним наименова-нием объектов может быть до двух раз быстрее для изменения. Кроме того, это делает ми-грацию данных в другую систему гораздо проще.
Что это? - Написание кода процедур должно быть последовательным, логиче-ским и читабельным. Это включает разметеку, комментарии, описание и другие «best practices». Почему это важно? - Лучшие методы кодирования помогают любому разработ-чику, глядя на приложения понять внутренние детали приложения намного быстрее. Это также означает, что код более надежен и отказоустойчив.
Что это? - Технические документы, описывающие в общих чертах структуру ба-зы данных (схема), исходный код для процедур и другое. Почему это так важно? - Документация играет важную роль в будущих обнов-лениях в системе, помогая любому разработчику понять, какие объекты необходимо изме-нить, и что еще более важно - влияние этих изменений на остальные части системы.
Best Practice не является строго определенным сводом правил; это комбинация понимания базовых технических понятий, понимания того, что приложение будет продол-жать развиваться в ближайшие годы и решимостью сделать хорошую работу и предоставить качественный продукт. Приложению, разработанному с использованием «Best Practice» потребуется больше времени, чтобы его написать, чем тому, которая его не использует и поэтому может стоить немного больше. Тем не менее, в течение всего срока программного обеспечения, и, как правило в течение первого года реализации проекта, общие расходы должны быть суще-ственно ниже, надежность данных будет лучше и надежность базы данных будет больше. Если бы Вы были циничны, то Вы могли бы сказать, что, не следующий за «Best Practice» разработчик будет получать доходы от несущественных поправок и улучшений, которые будут требоваться. Однако, убедившись, что Ваше приложение построено с помо-щью «Best Practice», будет более дешевле в долгосрочной перспективе.