Текущее время: Пн, июл 07 2025, 16:48

Часовой пояс: UTC + 3 часа


Правила форума


ВНИМАНИЕ!

Вопросы по SAP Query и Quick View - сюда



Начать новую тему Ответить на тему  [ Сообщений: 6 ] 
Автор Сообщение
 Заголовок сообщения: Рекомендации именования объектов разработки
СообщениеДобавлено: Сб, сен 03 2016, 01:46 
Старший специалист
Старший специалист

Зарегистрирован:
Чт, окт 22 2009, 12:41
Сообщения: 473
Коллеги, стартуем новый проект и составляем рекомендации по разработкам. Традиционно берем старые регламенты и адаптируем их.
Но сейчас решил прибегнуть к помощи вселенского разума: какие рекомендации по вы могли бы дать по именованию объектов разработки?
Что вас мучало долгие годы в названиях объектов? Используете ли вы префиксы (E, D, S, T etc) для объектов словаря? Используете ли вы общий префикс для проекта? Есть ли у вас любимый гайд по именованию? Используете lv_ или l_ для локальных переменных?
Не стесняйтесь дать волю своим чувствам :lol:

PS
«There are only two hard things in Computer Science: cache invalidation and naming things.» © Phil Karlton


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Рекомендации именования объектов разработки
СообщениеДобавлено: Сб, сен 03 2016, 11:34 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Пт, сен 23 2005, 11:11
Сообщения: 963
Code:
D - домен
E - эл.данных
I - тип таблицы
S - структура
A - append-структура
T - таблица
IF - интерфейс
CL - класс
CX - класс исключ.
BC - класс badi
EI - неявное внедр. + одноим. include
...
все типы попадают в таблицу ddtypes и нельзя создать 2 типа с одинаковым именем,
помимо буквы в типе нужно использовать код разработки,
напр э/д ZEO2CR456AUARA ~ Z+E(тип)+O2CR456(задача)+AUARA(произв.наим.объекта),

imho
комментировать код обязательно, в первую очередь для себя, местами полезно вставить в комментарий стэк вызовов,
когда комментариев больше чем кода это нормально.
в общеиспользуемых разработках можно проставлять префиксы iv_,is_,ev_,ct_.. в параметрах функций и методов,
префиксы lt_ gt_ в коде не использую, использую свои постфиксы и некоторые привычки из-за которых иногда возникают трения с qa


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Рекомендации именования объектов разработки
СообщениеДобавлено: Сб, сен 03 2016, 22:11 
Старший специалист
Старший специалист

Зарегистрирован:
Чт, окт 22 2009, 12:41
Сообщения: 473
trop, спасибо!
Кстати, всегда интересовало, зачем в названиях объектов словаря указывают тип (например, ZE* для элементов данных)? Ведь элемент данных с доменом сложно перепутать - они же в разных местах используются. Да и в списке объектов в запросе легко различаются благодаря отдельному столбцу с типом?

Да, комментарии помогают иногда довольно сильно. Но еще классно, когда сами сущности называются логично (но это уже редкость).


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Рекомендации именования объектов разработки
СообщениеДобавлено: Пн, сен 05 2016, 11:11 
Старший специалист
Старший специалист

Зарегистрирован:
Чт, май 12 2011, 16:06
Сообщения: 351
weise написал(а):
1) Используете ли вы префиксы (E, D, S, T etc) для объектов словаря? 2) Используете ли вы общий префикс для проекта? 3) Используете lv_ или l_ для локальных переменных?
1) Для типов таблиц (в виде добавления T после префикса проекта) 2) Да 3) Нет. Имхо, g_ и gt_ для глобальных - уже достаточно для различения.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Рекомендации именования объектов разработки
СообщениеДобавлено: Пн, сен 26 2016, 12:18 
Ассистент
Ассистент

Зарегистрирован:
Пн, дек 02 2013, 09:42
Сообщения: 33
По моему, для переменных необходимо указывать
уровень видимости - local / global
тип объекта - varable / structure / object и т.д.
разделитель указателей от имени "_"
а для таблиц указывать тип( sorted, default и т.д. ) необходимо т.к. изменение типа может повлиять на производительность при различном обращении. В этом случае при изменении типа, придётся изменить имя и соответственно проконтролировать/проанализировать все места где она используется.
то есть таблица наименуется так "ltd_tab" или "lts_tab".

weise написал(а):
(например, ZE* для элементов данных)?

я думаю, что для отделения ЭД от структур таблиц и т.д.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Рекомендации именования объектов разработки
СообщениеДобавлено: Пн, сен 26 2016, 14:07 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Чт, авг 19 2004, 17:37
Сообщения: 1962
Откуда: Москва
Пол: Мужской
weise написал(а):
...
Что вас мучало долгие годы в названиях объектов? ...

Меня все эти годы мучило ограниченное стандартное форматирование ABAP-текста - либо большими буквами, либо маленькими. Что это не читабельно я уяснил ещё в конце 80-х, программируя на Turbo Pascal. Даже какие-то статьи в компьютерных журналах были на эту тему, в которых рекомендовалось использовать длинные имена в стиле "CamelCase".
Поэтому, когда пришлось писать на ABAP, я тоже пытался следовать этим правилам, но всегда находился какой-нибудь "товарищ", который одним нажатием "Структурная печать" (Pretty Printer) сносил все мои старания - слова сливались в сплошную абракадабру. Разделение слов в переменной символом подчёркивания "_" тоже ненамного улучшает читабельность, а часто используемые префиксы (типа "LS_", "GT_" и т.д.) ещё больше загромождают текст.
Недавно, после очередного "товарища", я не выдержал и написал свою "Программу форматирования ABAP-кода", позволяющую автоматически форматировать в заданном стиле, и имеющую гибкие настройки для формирования словаря исключений. Например, чтобы аббревиатуры печатались большими буквами (ABAP, ALV, GUI и т.д.), а известные префиксы маленькими (ls_*, gt_* и т.д.).
В своей системе я расширил стандартный ФМ PRETTY_PRINTER и теперь даже какое-то наслаждение испытываю, когда пишу свои разработки. На проектах, т.к. нет возможности воткнуть расширение, просто запускаю в отдельном режиме и форматирую текст в буфере обмена.

_________________
"For all entries" не в SAP-ах, "for all entries" в головах! :)


Принять этот ответ
Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 6 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: Yandex [Bot]


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB