Текущее время: Пт, апр 19 2024, 16:47

Часовой пояс: 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
Сообщения: 347
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 часа


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

Сейчас этот форум просматривают: нет зарегистрированных пользователей


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

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