Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
5 стандарт оформления кода.docx
Скачиваний:
4
Добавлен:
01.07.2025
Размер:
67 Кб
Скачать
☆

2.5. Именование методов

При именовании полей всегда необходимо использовать стиль InfixCaps. Не допускается использование символов подчеркивания для разделения слов. В имени метода всегда должна содержаться команда к действию или глагольная фраза

Правильно:   ShowStatus   DrawCircle   AddLayoutComponent

Неправильно:   MouseButton (Существительное, не описывает функцию)   drawCircle (Начинается с маленькой буквы)   add_layout_component (Используются символы подчерка)   ServerRunning (Глагольная фраза, но без команды)

Обратите внимание на последний пример (ServerRunning) - непонятно, что делает этот метод. Этот метод может использоваться для запуска сервера (лучше StartServer) или для проверки работы сервера (лучше IsServerRunning).

Методы для установки или получения значений свойств должны именоваться Get+имя свойства и -Set+имя свойства.

Например:   GetHeight, SetHeigh

Методы для теста/проверки булевских свойств класса должны именоваться с префиксом Is+имя свойства.

Например:   IsResizable, IsVisible

Для создания пар операций рекомендуется использовать следующие префиксы.

  • Init / Term - инициализация и завершения модуля

  • Create/Destroy - создание и удаление объекта

  • Start/Stop - начало/завершение какого либо процесса

  • Load/Save - загрузка/выгрузка чего либо

  • Get/Set - чтение/установка чего либо...

Не допускается смешивание функций из разных пар (например Get/Save – это неправильно).

2.6. Именование переменных

Имена всех локальных переменных должны подчиняться тем же правилам, которые установлены для именования полей, исключая префикс F.

Переменные, содержащие двоичные значения (флаги) могут именоваться либо с префиксом Is+имя свойства, либо с префиксом Flg+имя свойства, не рекомендуется использовать префикс "not", выражающий отрицание, всегда следует в таком случае заменять его на "Is", т.е. не использовать "NotFound", лучше "IsFound".

Рекомендуется использовать префикс "N" если переменная представляет количество чего-либо, например NItems; если переменная представляет номер, то окончание "No", например "RecordNo".

2.7. Нотация (префиксы) для именования переменных (экземпляров объектов) в зависимости от типа

В целом, стандарты Borland не рекомендуют использование префиксов для обозначения типа в имени переменной. Имя должно быть выбрано таким образом, чтобы определить функциональную принадлежность переменной. При использовании InFixCaps допускается составление имен переменных таким образом, чтобы начальная часть имени переменной указывала на ее функциональное назначение, а завершающая (постфикс) часть содержала указание на тип. Например: DateEdit,CustomerQuery, ErrorList.

Однако опыт разработки свидетельствует, что использование префиксов для именования переменных является эффективным способом стандартизации кода и очень распространено программистами, в том числе, и работающими с Borland Delphi.

Поэтому настоящие стандарты нейтрально относятся к обязыванию/запрету использования нотации (префиксов) для определения типов в имени переменных и программист, либо работающая над проектом группа, обязаны самостоятельно решать, использовать их или нет.

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

В том случае, если принято решение использовать префиксы, то для именования переменных (за исключением локальных переменных в простых процедурах и функциях) рекомендуется использовать запись с использованием нотации, построенной по следующему правилу:

  1. Удалите из имени компонента префикс Т. Например, TButton превращается в Button.

  2. Из полученного значения удалите все гласные буквы, за исключением первых букв слова. Например, Button превращается в bttn, a Edit превращается в edt.

  3. Удалите сдвоенные согласные буквы. Например, bttn превращается в btn.

  4. Если в результате возникает конфликт имен, возвращайте в полученное промежуточное значение гласные буквы— по одной, слева направо. Например, если появится новый компонент TBatton, его префикс типа войдет в конфликт с префиксом типа компонента TButton. Следовательно, для нового компонента следует установить префикс типа batn.

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

Префикс

Тип

Стандартные типы

i

Integer

b

byte

bl

boolean

ch

char

s, str

string

f

Double,Float, real

w

word

ptr

pointer

arr

array

rec

record

set

set of ..

enum

enumeration

dtm

TDateTime

sl

TStringList

Стандартные компоненты

fm

TForm

mm

TMainMenu

pm

TPopupMenu

mi

TMenuItem

pmi

TPopupMenuItem

lbl

TLabel

edt

TEdit

mem

TMemo

btn

TButton

cb

TCheckBox

rb

TRadioButton

lb

TListBox

cbb

TComboBox

gb

TGroupBox

rg

TRadioGroup

pnl

TPanel

cl

TCommandList

me

TMaskEdit

dg

TDrawGrid

img

TImage

sbx

TScrollBox

clb

TCheckListBox

spl

TSplitter

actl

TActionList

act

TAction

fnt

TFont

cht

TChart

Win32

pgc

TPageControl

ts

TTabSheet

il

TImageList

re

TRichEdit

tv

TTreeView

lv

TListView

hdr

THeaderControl

stb

TStatusBar

tlb

TToolBar

tbb

TToolButton

Системные компоненты

tm

TTimer

Компоненты доступа к данным

tbl

TTable

qr

TQuery

sp

TStoredProc

db

TDataBase, TIBDataBase

cr

TCursor

tr

TTransaction

conn

TConnection

DSQL

DSQL

ssn

TSession

MIDAS

prv

TProvider

cds

TClientDataSet

dcom

TDCOMConnection

RX

de

TDateEdit

fs

TFormStorage