Имена процедур и функций

#std647

Область применения: управляемое приложение, мобильное приложение, обычное приложение.

1. Правильный выбор имен процедур и функций очень важен для повышения читаемости кода. В большинстве случаев хорошо выбранное имя процедуры в сочетании с правильно подобранными именами параметров избавляют от необходимости ее как-то дополнительно описывать. В ряде случаев, сложности в выборе имени процедуры и (или) ее параметров свидетельствуют о неправильной архитектуре программного кода. И наоборот, если "самодокументирующееся" имя придумать легко, значит процедура спроектирована правильно.

См. также: Описание процедур и функций

2. Имена процедур, функций и формальных параметров следует образовывать от терминов предметной области таким образом, чтобы из имени было понятно назначение. Следует стремиться к тому, чтобы имена были "говорящими" (документировали сами себя).
Например, неправильно:

Функция ВыполнитьПроверку(Параметр1, Рекв, ТЗ)
Функция ПолучитьМассивыРеквизитов(ХозяйственнаяОперация, МассивВсехРеквизитов, МассивРеквизитовОперации)

Правильно:

Функция РеквизитОбъектаЗаданногоТипа(Объект, ИмяРеквизита, ТипЗначения)
Функция ЗаполнитьИменаРеквизитовПоХозяйственнойОперации(ХозяйственнаяОперация, ИменаВсеРеквизиты, ИменаРеквизитыОперации)

3. Имена следует образовывать путем удаления пробелов между словами. При этом, каждое слово в имени пишется с прописной буквы. Предлоги и местоимения из одной буквы также пишутся прописными буквами.

Методическая рекомендация (полезный совет)

4. Не рекомендуется в названиях процедур и функций описывать типы принимаемых параметров и (или) возвращаемых значений.

Например, неправильно:

Функция ПолучитьМассивРолейСПравомДобавления()
Функция ПолучитьСтруктуруДополнительныхНастроек()

Правильно:

Функция ИменаРолейСПравомДобавления()
Функция ДополнительныеНастройки()

Эта рекомендация справедлива в большинстве случаев за редким исключением, когда без описания типа возвращаемого значения не ясно назначение самой процедуры или функции.

5. Имена процедур в общем случае, следует образовывать от неопределенной формы глагола, от сути выполняемого действия, например:

Неправильно:

Процедура ЗагрузкаКонтрагента()

Правильно:

Процедура ЗагрузитьКонтрагента()

6.1. Имена функций в общем случае следует образовывать от описания возвращаемого значения.

Неправильно:

Функция ПолучитьПолноеИмяПользователя() 
Функция СоздатьПараметрыЗаполненияЦенПоставщика() 
Функция ОпределитьДатуНачалаСеанса()

Правильно:

Функция ПолноеИмяПользователя() 
Функция НовыеПараметрыЗаполненияЦенПоставщика() 
Функция ДатаНачалаСеанса()

6.2. Если функция предназначена для создания какого-либо объекта, то рекомендуется в ее имени использовать слово "Новый". Например,
Неправильно:

Функция ДобавитьПолеФормы()
Функция СоздатьЭлементСправочникаФайлы()
Функция ПолучитьТаблицуКоманд()

Правильно:

Функция НовоеПолеФормы() 
Функция НовыйЭлементСправочникаФайлы()
Функция НоваяТаблицаКоманд()

6.3. Если функция выполняет проверку какого-то условия, то ее имя рекомендуется начинать со слова "Это" или использовать причастия.
Неправильно:

Функция ПроверитьПроведенностьДокумента()
Функция ПроверитьИзменениеРеквизитовДокумента()
Функция ВнешняяЗадача()

Правильно:

Функция ДокументПроведен()
Функция РеквизитыДокументыИзменены()
Функция ЭтоВнешняяЗадача()

6.4. В имени функции рекомендуется использовать глаголы в неопределенной форме в тех случаях, когда для понимания назначения функции важно, каким образом было получено возвращаемое значение. Например:

Функция ВыбратьДанныеПоПравилу(Правило, ПользовательскиеНастройки)
Функция ПреобразоватьДанныеПоПравилу(НаборыДанных, ПараметрыПреобразования)

6.5. Если выполнение функции предполагает, прежде всего, какое-либо действие, и при этом возврат значения не является ее основной задачей (например, это признак успешно выполненного действия), то имена таких функций следует образовывать от неопределенной формы глагола, как и для процедур.
Например:

Функция РазрешитьРедактированиеРеквизитовОбъекта(Форма)