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