Sign in Join
Wiki copytemporary

Coding style/ru: what changed

Revision 1 to 2. 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+
117## Компилятор FPC и RTL
218
319### Введение
420
5-Некоторые люди могут подумать, что стиль кодирования, используемый в исходниках компилятора FPC и базовой RTL (run-time library) - немного странный, но он использовался много лет и не является предметом обсуждения. Поэтому воспринимайте всё нижеследующее как стандарт для использования.
21+Некоторые люди могут подумать, что стиль кодирования, используемый в исходниках компилятора FPC и базовой RTL (run-time library) - немного странный, но он использовался много лет и не является предметом обсуждения. Поэтому воспринимайте всё нижеследующее как стандарт для использования.
622
723### Зарезервированные слова
824
9-Пишите зарезервировенные слова в нижнем регистре. Не надо делать их нечитаемыми, набирая в верхнем регистре. Современные IDE поддерживают подсветку синтаксиса, поэтому зарезервированные слова легко распознаются.
25+Пишите зарезервировенные слова в нижнем регистре. Не надо делать их нечитаемыми, набирая в верхнем регистре. Современные IDE поддерживают подсветку синтаксиса, поэтому зарезервированные слова легко распознаются.
1026
1127### Пробелы
1228
13-Не используйте пробелы вокруг операторов, двоеточий, скобок и т.д.,\
14-т.е. пишите
15-
16-``` pascal
29+Не используйте пробелы вокруг операторов, двоеточий, скобок и т.д.,
30+т.е. пишите
31+```
1732p:=p+i;
1833```
1934
20-вместо
21-
22-``` pascal
35+вместо
36+```
2337p := p + i ;
2438```
2539
2640### Символы табуляции
2741
28-Не используйте символы табуляции ([[ASCII]] HT, 0x09). Нет стандартных установок по умолчанию для символов табуляции, поэтому то, как при просмотре будут выглядеть исходные файлы, использующие символы табуляции, будет зависеть от настроек клиента. Это может привести к хаотичному виду исходных файлов. Для выравнивания используйте символы пробела (см. также *Отступы*).
42+Не используйте символы табуляции ([[ASCII]] HT, 0x09). Нет стандартных установок по умолчанию для символов табуляции, поэтому то, как при просмотре будут выглядеть исходные файлы, использующие символы табуляции, будет зависеть от настроек клиента. Это может привести к хаотичному виду исходных файлов. Для выравнивания используйте символы пробела (см. также _Отступы_).
2943
3044### Отступы
3145
32-Размер отступа всегда - 2 пробела на уровень.
46+Размер отступа всегда - 2 пробела на уровень.
3347
34-Никогда не располагайте **begin** на той-же строке, что **while..do**, **if..then** и т.д., а всегда - на его собственной отдельной строке (и делайте отступ относительно **while**, **if** и т.д.).
48+Никогда не располагайте **begin** на той-же строке, что **while..do** , **if..then** и т.д., а всегда - на его собственной отдельной строке (и делайте отступ относительно **while** , **if** и т.д.).
3549
3650### Переводы строк
3751
38-Отделяйте подпрограммы тремя переводами строк, т.е. помещайте между ними две пустые строки.
52+Отделяйте подпрограммы тремя переводами строк, т.е. помещайте между ними две пустые строки.
3953
4054### Разное
4155
42-Пожалуйста, обратите внимание, что если после **else** идёт **if**, то дополнительного отступа не делается:
43-
44-``` pascal
56+Пожалуйста, обратите внимание, что если после **else** идёт **if** , то дополнительного отступа не делается:
57+```
4558if x then
46- begin
47- ...
48- end
49-else if y then
50- begin
51- ...
52- end;
59+ begin
60+ ...
61+ end
62+ else if y then
63+ begin
64+ ...
65+ end;
5366```
5467
55-Разделяйте все составные условия оператора **if** на несколько строк, т.е. пишите\
56-не так:
57-
58-``` pascal
68+Разделяйте все составные условия оператора **if** на несколько строк, т.е. пишите
69+не так:
70+```
5971if (x) and (y) then
6072```
6173
62-а так:
63-
64-``` pascal
74+а так:
75+```
6576if x and
66- y then
67- ...
77+ y then
78+ ...
6879```
6980
70-(возможно, за исключением случаев, когда *x* и *y* - просто логические переменные)
81+(возможно, за исключением случаев, когда _x_ и _y_ \- просто логические переменные)
7182
7283### Примеры
7384
74-Для того, чтобы убедиться, как всё это выглядит, можно заглянуть в [Исходники FPC](http://www.freepascal.org/cgi-bin/viewcvs.cgi/?root=fpc).
85+Для того, чтобы убедиться, как всё это выглядит, можно заглянуть в [Исходники FPC](<http://www.freepascal.org/cgi-bin/viewcvs.cgi/?root=fpc>).
7586
7687## FCL
7788
78-Нет формальных стандартов.
89+Нет формальных стандартов.
7990
8091## Другие пакеты, поставляемые с FPC
8192
82-Нет формальных стандартов.
93+Нет формальных стандартов.
8394
8495## Lazarus
8596
86-Поскольку Lazarus и LCL следуют совместимости с Delphi, стиль кода сходен с тем, который используется в Delphi.
97+Поскольку Lazarus и LCL следуют совместимости с Delphi, стиль кода сходен с тем, который используется в Delphi.
8798
88-Если вы пишете патч или расширение для LCL, вам следует придерживаться стиля LCL.
99+Если вы пишете патч или расширение для LCL, вам следует придерживаться стиля LCL.
89100
90-Если вы разрабатываете свой собственный компонент, вы можете использовать любой стиль, который вам нравится, но рекомендуется так-же использовать стиль LCL.
101+Если вы разрабатываете свой собственный компонент, вы можете использовать любой стиль, который вам нравится, но рекомендуется так-же использовать стиль LCL.
91102
92103Смотрите указания по кодированию Lazarus: [[DesignGuidelines/ru]]
93104
94-Для справки: вы можете найти описание стиля кодирования Delphi [здесь](http://edn.embarcadero.com/article/10280)
105+Для справки: вы можете найти описание стиля кодирования Delphi [здесь](<http://edn.embarcadero.com/article/10280>)
95106
107+
108+
96109## См. также
97110
98-- [[DesignGuidelines/ru|Указания по кодированию Lazarus: DesignGuidelines/ru]]
99-- [Описание стиля кодирования Delphi: Object Pascal Style Guide (Charles Calvert)](http://edn.embarcadero.com/article/10280)
111+ * [[DesignGuidelines/ru|Указания по кодированию Lazarus: DesignGuidelines/ru]]
112+ * [Описание стиля кодирования Delphi: Object Pascal Style Guide (Charles Calvert)](<http://edn.embarcadero.com/article/10280>)
100113
101114---
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).*
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).*

Back to history