powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / Стандарт оформления кода
20 сообщений из 20, страница 1 из 1
Стандарт оформления кода
    #34428343
Louder
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Доброго времени суток!
Решили разработать внутренний стандарт оформления кода для PowerBuilder.
Может быть у кого-то есть опыт разработки такого стандарта?
Пока что планируем включить следующие пункты:

1. Оформление комментариев
2. Наименование переменных
3. Обработка ошибок

Буду очень благодарен за любую помощь/советы в разработке подобного документа.
Результаты совместной работы выложим в форум.
...
Рейтинг: 0 / 0
Стандарт оформления кода
    #34428420
Локшин Марк
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Louder3. Обработка ошибок
А это относится к оформлению кода?
Выравнивание текста, отступы табуляцией/пробелами. Писать ли ; в конце строки, использовать ли 2 и более операторов на строке.
Писать
Код: plaintext
if i =  2  then MyProc()
или
Код: plaintext
1.
2.
if i =  2  then
  MyProc()
end if
Как пробелами знаки операций отделять и т.д.
...
Рейтинг: 0 / 0
Стандарт оформления кода
    #34429148
edmikeca
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если я ничего не путаю, то Sybase когда-то рекомендовал именовать переменные следующим образом:

Первая буква показывает область видимости, например “l” – local, “i” – instance и т.д. Следующая буква, тип переменной: “s” – string, “i” – int и.т.д. Потом подчеркушка и дальше то, что считаете нужным

li_myLoalIntVar; ls_myLocalStringVar; is_myInstanceStingVar
...
Рейтинг: 0 / 0
Стандарт оформления кода
    #34429297
Louder
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Локшин Марк Louder3. Обработка ошибок
А это относится к оформлению кода?

Cкорее да, чем нет...
Например, вариант №1

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
int li_rc
li_rc = FAILURE

li_Result = ids_1.Retrieve()

If li_Result <  0  Then 
	Inv_Error.Of_Message("ids_1.Retrieve()", string(li_Result))
	Goto ErrorTrap
End if

li_Result = ids_2.Retrieve()

If li_Result <  0  Then 
	Inv_Error.Of_Message("ids_2.Retrieve()", string(li_Result))
	Goto ErrorTrap
End if

li_rc = SUCCES
ErrorTrap:
Return li_rc

Вариант №2, самый простой:

Код: plaintext
1.
2.
3.
If ids_1.Retrieve() <  0  Then Return - 1 
If ids_2.Retrieve() <  0  Then Return - 1 
Return  1 

Кстати, кто как оформляет обработку ошибок?
...
Рейтинг: 0 / 0
Стандарт оформления кода
    #34429302
Louder
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
edmikecaЕсли я ничего не путаю, то Sybase когда-то рекомендовал именовать переменные следующим образом:
Да, мне где-то даже встречался целый лист формата A4 с таблицей типов переменных и рекомендациями по их наименованию.
Например:
integer li_
long ll_
decimal ldec_
date ld_
datetime ldt_
...
Рейтинг: 0 / 0
Стандарт оформления кода
    #34429746
Локшин Марк
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LouderCкорее да, чем нет...
Помоему к оформлению кода вообще никакого отношения не имеет.
...
Рейтинг: 0 / 0
Стандарт оформления кода
    #34430461
dGrichine
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Именование переменных
http://www.pbdr.com/pbstd/varnmstd.htm
Общие рекомендации
http://www.pbdr.com/pbstd/index.htm
...
Рейтинг: 0 / 0
Стандарт оформления кода
    #34430594
Фотография PL99
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Louder Локшин Марк Louder3. Обработка ошибок
А это относится к оформлению кода?

Cкорее да, чем нет...
Например, вариант №1
...
Вариант №2, самый простой:
...

Кстати, кто как оформляет обработку ошибок?Первый вариант для версий, в которых не было обработки исключений.

Второй вариант - так обрабатывают ошибки в PFC
...
Рейтинг: 0 / 0
Стандарт оформления кода
    #34431305
Louder
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PL99Первый вариант для версий, в которых не было обработки исключений.

Второй вариант - так обрабатывают ошибки в PFC
Да, можно было и третий вариант сюда добавить - try...except. Я пока не пользуюсь, но по-моему это гораздо удобней Goto. Сдерживает только одно - уж если изменять обработку исключительных ситуаций, то сразу во всем приложении. Иначе код получается - индийский :)
...
Рейтинг: 0 / 0
Стандарт оформления кода
    #34433775
Локшин Марк
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Где объявлять переменные (в начале скрипта или перед их использованием).
...
Рейтинг: 0 / 0
Стандарт оформления кода
    #34434443
Louder
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Локшин Марк, dGrichine, PL99, edmikeca СПАСИБО ОГРОМНОЕ!!!

Думаю, примерно такой документ получится

Требования к оформлению кода

1. Коментарии
1.1. Оформление "Шапки" функции/события
(Здесь конкретный пример шапки)
1.2. Оформление комментария в коде
(Здесь пример комментария в коде)
2. Переменные
2.1. Объявление переменных
(В каком месте объявлять)
2.2. Наименование переменных
(Список типов и примеры наименования)
2.3. Область видимости
3. Функции и события
3.1. События: область применения
3.2. Функции: область применения
3.3. Наименование
(Наименования функций и событий в зависимости от типов объектов)
3.4. Аргументы
(Наименование, тип доступа)
4. Форматирование
(Выравнивание текста, отступы табуляцией/пробелами. Писать ли ; в конце строки, использовать ли 2 и более операторов на строке.)
5. Обработка исключительных ситуаций
(Пример обработки искл. ситуации)
...
Рейтинг: 0 / 0
Стандарт оформления кода
    #34434501
Локшин Марк
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Louder Переменные
Еще по переменным:
Как писать MyVariable, myvariable или my_variable?
И кстати про префиксы (венгерская нотация) - это еще очень большой вопрос нужно ли в строго типизированных языках её использовать.
Louder3.1. События: область применения
Еще по функциям - возвращать ли значение не в последней строке функции.

Вот кстати пример спецификации, ясно что для PB будет немного по-другому, но в качестве образца пойдет.
http://www.rsdn.ru/article/mag/200401/codestyle.XML
...
Рейтинг: 0 / 0
Стандарт оформления кода
    #34434519
Локшин Марк
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
О, еще например как писать
Код: plaintext
1.
if (a=.........) and &&
   (b=.........)
или
Код: plaintext
1.
if (a=.........)&&
          and (b=.........)
И, кстати сколько пробелов на второй строке ставить тоже можно установить.
...
Рейтинг: 0 / 0
Стандарт оформления кода
    #34434693
Локшин Марк
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Использовать или нет русские символу в наименованиях объектов и переменных.
Использовать или нет оператор goto (по мотивам статьи Дейкстра) http://ru.wikipedia.org/wiki/GOTO .
...
Рейтинг: 0 / 0
Стандарт оформления кода
    #34434714
Локшин Марк
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И еще по поводу оформления кода. Нет ли программы такой, которая готовые исходники форматирует и чтобы ее настроить можно было и с *.pbl состыковать?
...
Рейтинг: 0 / 0
Стандарт оформления кода
    #34435414
Фотография ИвановНН
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
По этому вопросу есть также неплохая книга МакКоннелла "Совершенный код".
...
Рейтинг: 0 / 0
Стандарт оформления кода
    #34439496
Estets
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Один из вариантов предоставленный уважаемым softwarer -ом.

www.sql.ru/forum/actualthread.aspx?tid=413415#3978644
...
Рейтинг: 0 / 0
Стандарт оформления кода
    #34440032
Mykola
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
думаю следует прислушаться к рекомендациям Sybase
...
Рейтинг: 0 / 0
Стандарт оформления кода
    #34462676
Локшин Марк
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
О, еще вспомнил (связанная с синтаксисом PB вещь) - использование двойных и одинарных кавычек для текстовых строк.
...
Рейтинг: 0 / 0
Стандарт оформления кода
    #34462759
Louder
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
О, точно! Спасибо!
...
Рейтинг: 0 / 0
20 сообщений из 20, страница 1 из 1
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / Стандарт оформления кода
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]