Sign in Join
Wiki copytemporary

Coding style/ru: what changed

Revision 2 to 3. Removed lines have a minus sign; added lines have a plus sign.

OldNewLine
1-## Contents
2-
3- * 1 Компилятор FPC и RTL
4- * 1.1 Введение
5- * 1.2 Зарезервированные слова
6- * 1.3 Пробелы
7- * 1.4 Символы табуляции
8- * 1.5 Отступы
9- * 1.6 Переводы строк
10- * 1.7 Разное
11- * 1.8 Примеры
12- * 2 FCL
13- * 3 Другие пакеты, поставляемые с FPC
14- * 4 Lazarus
15- * 5 См. также
16-
171## Компилятор FPC и RTL
182
193### Введение
204
21-Некоторые люди могут подумать, что стиль кодирования, используемый в исходниках компилятора FPC и базовой RTL (run-time library) - немного странный, но он использовался много лет и не является предметом обсуждения. Поэтому воспринимайте всё нижеследующее как стандарт для использования.
5+Некоторые люди могут подумать, что стиль кодирования, используемый в исходниках компилятора FPC и базовой RTL (run-time library) - немного странный, но он использовался много лет и не является предметом обсуждения. Поэтому воспринимайте всё нижеследующее как стандарт для использования.
226
237### Зарезервированные слова
248
25-Пишите зарезервировенные слова в нижнем регистре. Не надо делать их нечитаемыми, набирая в верхнем регистре. Современные IDE поддерживают подсветку синтаксиса, поэтому зарезервированные слова легко распознаются.
9+Пишите зарезервировенные слова в нижнем регистре. Не надо делать их нечитаемыми, набирая в верхнем регистре. Современные IDE поддерживают подсветку синтаксиса, поэтому зарезервированные слова легко распознаются.
2610
2711### Пробелы
2812
29-Не используйте пробелы вокруг операторов, двоеточий, скобок и т.д.,
30-т.е. пишите
31-```
13+Не используйте пробелы вокруг операторов, двоеточий, скобок и т.д.,\
14+т.е. пишите
15+
16+``` pascal
3217p:=p+i;
3318```
3419
35-вместо
36-```
20+вместо
21+
22+``` pascal
3723p := p + i ;
3824```
3925
4026### Символы табуляции
4127
42-Не используйте символы табуляции ([[ASCII]] HT, 0x09). Нет стандартных установок по умолчанию для символов табуляции, поэтому то, как при просмотре будут выглядеть исходные файлы, использующие символы табуляции, будет зависеть от настроек клиента. Это может привести к хаотичному виду исходных файлов. Для выравнивания используйте символы пробела (см. также _Отступы_).
28+Не используйте символы табуляции ([[ASCII]] HT, 0x09). Нет стандартных установок по умолчанию для символов табуляции, поэтому то, как при просмотре будут выглядеть исходные файлы, использующие символы табуляции, будет зависеть от настроек клиента. Это может привести к хаотичному виду исходных файлов. Для выравнивания используйте символы пробела (см. также *Отступы*).
4329
4430### Отступы
4531
46-Размер отступа всегда - 2 пробела на уровень.
32+Размер отступа всегда - 2 пробела на уровень.
4733
48-Никогда не располагайте **begin** на той-же строке, что **while..do** , **if..then** и т.д., а всегда - на его собственной отдельной строке (и делайте отступ относительно **while** , **if** и т.д.).
34+Никогда не располагайте **begin** на той-же строке, что **while..do**, **if..then** и т.д., а всегда - на его собственной отдельной строке (и делайте отступ относительно **while**, **if** и т.д.).
4935
5036### Переводы строк
5137
52-Отделяйте подпрограммы тремя переводами строк, т.е. помещайте между ними две пустые строки.
38+Отделяйте подпрограммы тремя переводами строк, т.е. помещайте между ними две пустые строки.
5339
5440### Разное
5541
56-Пожалуйста, обратите внимание, что если после **else** идёт **if** , то дополнительного отступа не делается:
57-```
42+Пожалуйста, обратите внимание, что если после **else** идёт **if**, то дополнительного отступа не делается:
43+
44+``` pascal
5845if x then
59- begin
60- ...
61- end
62- else if y then
63- begin
64- ...
65- end;
46+ begin
47+ ...
48+ end
49+else if y then
50+ begin
51+ ...
52+ end;
6653```
6754
68-Разделяйте все составные условия оператора **if** на несколько строк, т.е. пишите
69-не так:
70-```
55+Разделяйте все составные условия оператора **if** на несколько строк, т.е. пишите\
56+не так:
57+
58+``` pascal
7159if (x) and (y) then
7260```
7361
74-а так:
75-```
62+а так:
63+
64+``` pascal
7665if x and
77- y then
78- ...
66+ y then
67+ ...
7968```
8069
81-(возможно, за исключением случаев, когда _x_ и _y_ \- просто логические переменные)
70+(возможно, за исключением случаев, когда *x* и *y* - просто логические переменные)
8271
8372### Примеры
8473
85-Для того, чтобы убедиться, как всё это выглядит, можно заглянуть в [Исходники FPC](<http://www.freepascal.org/cgi-bin/viewcvs.cgi/?root=fpc>).
74+Для того, чтобы убедиться, как всё это выглядит, можно заглянуть в [Исходники FPC](http://www.freepascal.org/cgi-bin/viewcvs.cgi/?root=fpc).
8675
8776## FCL
8877
89-Нет формальных стандартов.
78+Нет формальных стандартов.
9079
9180## Другие пакеты, поставляемые с FPC
9281
93-Нет формальных стандартов.
82+Нет формальных стандартов.
9483
9584## Lazarus
9685
97-Поскольку Lazarus и LCL следуют совместимости с Delphi, стиль кода сходен с тем, который используется в Delphi.
86+Поскольку Lazarus и LCL следуют совместимости с Delphi, стиль кода сходен с тем, который используется в Delphi.
9887
99-Если вы пишете патч или расширение для LCL, вам следует придерживаться стиля LCL.
88+Если вы пишете патч или расширение для LCL, вам следует придерживаться стиля LCL.
10089
101-Если вы разрабатываете свой собственный компонент, вы можете использовать любой стиль, который вам нравится, но рекомендуется так-же использовать стиль LCL.
90+Если вы разрабатываете свой собственный компонент, вы можете использовать любой стиль, который вам нравится, но рекомендуется так-же использовать стиль LCL.
10291
10392Смотрите указания по кодированию Lazarus: [[DesignGuidelines/ru]]
10493
105-Для справки: вы можете найти описание стиля кодирования Delphi [здесь](<http://edn.embarcadero.com/article/10280>)
106-
107-
94+Для справки: вы можете найти описание стиля кодирования Delphi [здесь](http://edn.embarcadero.com/article/10280)
10895
10996## См. также
11097
111- * [[DesignGuidelines/ru|Указания по кодированию Lazarus: DesignGuidelines/ru]]
112- * [Описание стиля кодирования Delphi: Object Pascal Style Guide (Charles Calvert)](<http://edn.embarcadero.com/article/10280>)
98+- [[DesignGuidelines/ru|Указания по кодированию Lazarus: DesignGuidelines/ru]]
99+- [Описание стиля кодирования Delphi: Object Pascal Style Guide (Charles Calvert)](http://edn.embarcadero.com/article/10280)
113100
114101---
115-*From the Free Pascal wiki, page "Coding style/ru", as the Internet Archive kept it on 2023-10-02. Copyright stays with the author who wrote it, according to the old wiki's [[Licensing]] page. If you have concerns about this material, [message the admin](/wiki-contact).*
102+*From the Free Pascal wiki, page "Coding style/ru", as it stood on 2020-02-11 after a change by Trev, out of the wiki's dump of 2024-05-26. Copyright stays with the author who wrote it, according to the old wiki's [[Licensing]] page. If you have concerns about this material, [message the admin](/wiki-contact).*

Back to history