Стиль кода FP

Общие вопросы программирования, алгоритмы и т.п.

Модератор: Модераторы

dedm0zaj
постоялец
Сообщения: 108
Зарегистрирован: 05.10.2012 19:55:20

Стиль кода FP

Сообщение dedm0zaj »

Вы заглядывали сюда?
https://wiki.freepascal.org/Coding_style

у меня есть пара вопросов
1.
Don't use spaces around operators, colons, parentheses etc.

Код: Выделить всё

{ correct } 
p:=p+i;
{ incorrect }
p := p + i ;
зачем? читаемость ведь уменьшается. всю жизнь ставил пробелы ради читаемости. представьте длинную формулу, всё будет в кашу.

2.
Keywords
Write all keywords in all lower snake_case. There is no need to make them unreadble by writing them in upper case. Modern IDEs support syntax highlighting, so keywords will be easily recognizable.
это относится к именам переменных, функций, методов?
вообще snake_case мне всегда нравился больше опять же из-за читаемости, но я почти нигде не видел, чтоб в паскале его использовали

upd:
второй вопрос отпадает. это относится к зарезервированным словам.
но в примерах ниже названия функций в snake_case
zub
долгожитель
Сообщения: 2889
Зарегистрирован: 14.11.2005 22:51:26
Контактная информация:

Сообщение zub »

1 - я пробелы не ставлю, по мне без них читаемей.
и парсеру проще))
Alex2013
долгожитель
Сообщения: 3211
Зарегистрирован: 03.04.2013 11:59:44

Сообщение Alex2013 »

ИМХО : Перед и после присваивания пробелы оправданы остальные только мешают читабельности кода (Особенно пробел перед точкой с запятой в конце формулы - он может банально помешать заметить конец формулы ) А вообще , кроме прочего,"нужда в пробелах" зависит от длинны используемых в написании формулы имен: чем длиннее имя переменной или функции тем четче нужно его "обособить". :idea:
Seenkao
энтузиаст
Сообщения: 569
Зарегистрирован: 01.04.2020 02:37:12
Контактная информация:

Сообщение Seenkao »

Пробелы ставятся для читаемости кода. Не думаю, что это много времени для парсера займёт, но, если строка вылазит в несколько строчек (одна длинная), то там не видно ни черта (условно) и спокойно теряются знаки препинания. Ставлю пробелы после знаков препинания.

Вообще я Lazarus сразу на это настраиваю, сразу после установки. И в большинстве случаев пробелы сами ставятся.
Alex2013 писал(а):чем длиннее имя переменной или функции тем четче нужно его "обособить".
зачастую хватает по одному пробелу с обеих сторон (если после не идёт знак препинания).
Аватара пользователя
Sharfik
энтузиаст
Сообщения: 836
Зарегистрирован: 20.07.2013 01:04:30

Сообщение Sharfik »

Работая в команде, нужно оформлять код единообразно. Чтобы каждый не выдумывал свой тупой зачастую велосипед придумали общие правила. Но у всех правил есть исключения. На кой то хрен, кому то показалось удобным ставить пробелы, и он написал это в Wiki. Возможно автор не знал про существование подсветки кода. В любом случае, ИМХО, главное чтобы не в кашу все было и с комментариями. Когда изучал Java, то некоторые вещи оттуда мне более удобными показались, чем Pascal Style. Например как именуются модули, вот больше модули не именую в стиле паскаля.
Аватара пользователя
runewalsh
энтузиаст
Сообщения: 579
Зарегистрирован: 27.04.2010 00:15:25

Сообщение runewalsh »

Это стиль кода самого Free Pascal, не более. Он далёк от общепринятого — того, в котором написаны исходники модулей Delphi.
Аватара пользователя
Ichthyander
энтузиаст
Сообщения: 701
Зарегистрирован: 04.04.2007 08:32:43
Откуда: Астрахань
Контактная информация:

Сообщение Ichthyander »

Я тоже уже давно пробелы не ставлю. Читабельность только лучше. А вот блоки все-таки по другому оформляю. Хотя может быть логичней, как описано в доке FPC
dedm0zaj
постоялец
Сообщения: 108
Зарегистрирован: 05.10.2012 19:55:20

Сообщение dedm0zaj »

я бы от begin вообще отказался. оставил бы только end или ещё лучше связные с началом блока слова

Код: Выделить всё

if
...
endif;

for
...
endfor;

while
...
endwh;

class
...
endcls;

record
...
endrcd;
и т.д.
Аватара пользователя
Ichthyander
энтузиаст
Сообщения: 701
Зарегистрирован: 04.04.2007 08:32:43
Откуда: Астрахань
Контактная информация:

Сообщение Ichthyander »

dedm0zaj писал(а):я бы от begin вообще отказался. оставил бы только end или ещё лучше связные с началом блока слова

Код: Выделить всё

if
...
endif;

for
...
endfor;

while
...
endwh;

class
...
endcls;

record
...
endrcd;
и т.д.
Сходу контраргумент: а что будешь делать с функциями и процедурами. Ну а так: цель синтаксиса Паскаль в читабельности и понятности, а не в краткости конструкций
dedm0zaj
постоялец
Сообщения: 108
Зарегистрирован: 05.10.2012 19:55:20

Сообщение dedm0zaj »

Ichthyander писал(а):а что будешь делать с функциями и процедурами
здесь как исключение можно оставить
п.с. следующие языки Вирта как раз таки избавлены от begin, кроме функций/процедур. насколько помню
Аватара пользователя
Снег Север
долгожитель
Сообщения: 3067
Зарегистрирован: 27.11.2007 15:14:47
Контактная информация:

Сообщение Снег Север »

Все эти споры о стиле - религия и вкусовщина в чистейшем виде.
dalfy
новенький
Сообщения: 12
Зарегистрирован: 07.10.2021 19:47:01

Сообщение dalfy »

Ichthyander писал(а):
dedm0zaj писал(а):я бы от begin вообще отказался. оставил бы только end или ещё лучше связные с началом блока слова

Код: Выделить всё

if
...
endif;

for
...
endfor;

while
...
endwh;

class
...
endcls;

record
...
endrcd;
и т.д.
Сходу контраргумент: а что будешь делать с функциями и процедурами. Ну а так: цель синтаксиса Паскаль в читабельности и понятности, а не в краткости конструкций
Согласен, нужно давать программисту/группе свободу оформлению, и пусть каждый сам выбирает как ему оформлять, а для групповой разработки Ctrl+D и не надо не кому мозги парить со своей групповой разработкой...
Seenkao
энтузиаст
Сообщения: 569
Зарегистрирован: 01.04.2020 02:37:12
Контактная информация:

Сообщение Seenkao »

dalfy писал(а): Согласен, нужно давать программисту/группе свободу оформлению, и пусть каждый сам выбирает как ему оформлять, а для групповой разработки Ctrl+D и не надо не кому мозги парить со своей групповой разработкой...
Человеку нельзя давать "свободу" выбора. Если идти на поводу у каждого, то в конечном итоге Паскаль умрёт, потому что в Паскале будет творится анархия и ни кто не сможет прочитать код другого.

Ну потому что у другого был выбор как писать код и ему было "плевать на правила".

Что-то не устраивает? Есть другие ЯП, думаю выбор большой, чтоб не задерживаться там, где вам не нравится.
dalfy
новенький
Сообщения: 12
Зарегистрирован: 07.10.2021 19:47:01

Сообщение dalfy »

Seenkao писал(а): каждого, то в конечном итоге Паскаль умрёт, потому что в Паскале будет творится анархия и ни кто не сможет прочитать код другого.
Полнейший абсурд! Человек должен писать так как ему удобно, а не подстраиваться под других. Быстрое форматирование кода ( Ctrl+D ) привет чужой код к твоему пониманию, и ни какой анархии...
Seenkao
энтузиаст
Сообщения: 569
Зарегистрирован: 01.04.2020 02:37:12
Контактная информация:

Сообщение Seenkao »

dalfy писал(а):Полнейший абсурд!
dedm0zaj писал(а):я бы от begin вообще отказался. оставил бы только end или ещё лучше связные с началом блока слова
ну ка нажми "Ctrl + D" и докажи, что мало того что форматирование произведётся, но и полностью вернётся структура Паскаля вместе со всеми begin-end, присваиваниями и прочим.

У тебя в голове каша, которую ты разобрать не можешь. Вместо того чтоб писать код, ты тут на форуме строчки строчишь. А два символа поставить в коде не можешь. Зачем вообще берёшься программировать?

Шлёпай на крестах программируй, там все вольны писать как хотят. Все твои хотелки учтут. И ни чего не поломается (наверно).
Ответить