Я видел различные правила для именования хранимых процедур.
Некоторые люди префиксное имя sproc с помощью usp_, другие - с аббревиатурой имени приложения, а третьи - с именем владельца. Вы не должны использовать sp_ в SQL Server, если не имеете в виду это.
Некоторые начинают имя proc с помощью глагола (Get, Add, Save, Remove). Другие подчеркивают имя (имена) объекта.
В базе данных с сотнями sprocs может быть очень сложно прокрутить и найти подходящий sproc, если вы думаете, что он уже существует. Соглашения об именах могут облегчить поиск sproc.
Используете ли вы соглашение об именах? Пожалуйста, опишите это и объясните, почему вы предпочитаете его по сравнению с другими вариантами.
Резюме ответов:
- Кажется, что каждый защищает согласованность именования, что для каждого может быть более важным использовать одно и то же соглашение об именах, чем тот, который используется.
- Префиксы: В то время как многие люди используют usp_ или что-то подобное (но редко sp_), многие другие используют имя базы данных или приложения. Один умный DBA использует gen, rpt и tsk, чтобы отличать общие CRRO sprocs от тех, которые используются для отчетов или задач.
- Verb + Noun кажется немного более популярным, чем Noun + Verb. Некоторые используют ключевые слова SQL (Select, Insert, Update, Delete) для глаголов, в то время как другие используют не-SQL-глаголы (или аббревиатуры для них), такие как Get и Add. Некоторые различают singluar и множественные существительные, чтобы указать, извлекается ли одна или несколько записей.
- В конце, где это необходимо, предлагается дополнительная фраза. GetCustomerById, GetCustomerBySaleDate.
- Некоторые люди используют подчеркивания между сегментами имен, а некоторые избегают подчеркивания. app_ Get_Customer vs. appGetCustomer - я думаю, это вопрос читаемости.
- Большие коллекции sprocs могут быть разделены на пакеты Oracle или решения и проекты Studio Studio (SQL Server) или схемы SQL Server.
- Следует избегать непроницаемых сокращений.
Почему я выбираю ответ, который я сделал: Есть много хороших ответов. Спасибо вам всем! Как вы можете видеть, было бы очень сложно выбрать один. Тот, который я выбрал, резонировал со мной. Я пошел по тому же пути, который он описывает, пытаясь использовать Verb + Noun, а затем не в состоянии найти все sprocs, которые применяются к клиенту.
Возможность найти существующий sproc или определить, существует ли он даже, очень важна. Серьезные проблемы могут возникнуть, если кто-то непреднамеренно создает дубликат sproc с другим именем.
Так как я обычно работаю над очень большими приложениями с сотнями sprocs, я предпочитаю самый простой способ определения имен. Для небольшого приложения я могу отстаивать Verb + Noun, поскольку это следует за общим соглашением кодирования для имен методов.
Он также выступает за префикс с именем приложения вместо не очень полезного usp_. Как отмечалось несколькими людьми, иногда база данных содержит sprocs для нескольких приложений. Таким образом, префикс с именем приложения помогает сегрегировать sprocs и помогает администраторам баз данных и другим пользователям определять, в каком приложении используется sproc.