# Стандартные области структуры модуля верхнего уровня

В программном модуле (общие модули, модули объектов, модули менеджеров объектов, модули форм, команд и т.п.) 
в общем случае могут присутствовать следующие разделы в приведенной ниже последовательности:

- заголовок модуля
- раздел описания переменных
- экспортные процедуры и функции модуля, составляющие его программный интерфейс
- обработчики событий объекта (формы)
- служебные процедуры и функции модуля
- раздел инициализации

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

Требование о разделении кода модуля на разделы призвано повысить читаемость кода и упростить внесение изменений 
в код разными авторами (разработчиками) как при коллективной разработке, так и при доработке прикладных решений 
на конкретных внедрениях.

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

```bsl

#Область ПрограммныйИнтерфейс
// Код процедур и функций
#КонецОбласти

#Область СлужебныйПрограммныйИнтерфейс
// Код процедур и функций

#Область СлужебныеПроцедурыИФункции
// Код процедур и функций
#КонецОбласти

#КонецОбласти

```

## Правильно

```bsl

#Область ПрограммныйИнтерфейс
// Код процедур и функций
#КонецОбласти

#Область СлужебныйПрограммныйИнтерфейс
// Код процедур и функций
#КонецОбласти

#Область СлужебныеПроцедурыИФункции
// Код процедур и функций
#КонецОбласти

```

## См.


- [Структура модуля](https://its.1c.ru/db/v8std#content:455:hdoc)
