В пособии изложены основные принципы, применяющиеся для повышения читаемости текстов компьютерных программ и их доступности для анализа человеком; в частности, даются рекомендации по разбиению программ на модули и подсистемы, уделяется много внимания различным стилям расстановки структурных отступов и незначащих (декоративных) пробелов.
Пособие ориентировано на студентов программистских специальностей, преподавателей, программистов.
Author(s): Столяров А.В.
Publisher: Макс Пресс
Year: 2012
Language: Russian
Commentary: увеличил контрастность
Pages: 102
Предисловие 3
1. Общие правила и принципы 55
1.1. Средства и цели ............. 5
1.2. Самопоясняющий код . . . . . . . . . . 7
1.2.1. Выбор имён (идентификаторов) 7
1.2.2. Структурные отступы: общие принципы 9
1.2.3. Ещё о пробелах ......... 15
1.2.4. Разбиение задач на подзадачи ....... 16
1.3. Универсально-читаемый код . . . . . . . . . . . . 18
1.3.1. Алфавит ASCII - гарантия универсальности текста 18
1.3.2. Английский язык - не роскошь, а средство взаимопонимания 20
1.3.3. О русскоязычном пользовательском интерфейсе 21
1.3.4. Стандартный размер экрана . . . . 22
1.4. Модульность .................. 25
1.4.1. О роли подсистем и модулей . . . . 25
1.4.2. Модуль как архитектурная единица 27
1.4.3. Ослабление сцепленности модулей .... 28
1.4.4. Выделение модулей во внешние библиотеки 31
1.5. Что такое coding style и какие они бывают . . . . . . . 33
2. Процедурный код: Паскаль, Си, Си++ 35
2.1. 3arоловок и тело . . . . . . . . . . . . . . . . . . . . 36
2.1.1. Основные варианты стиля отступов на примере оператора while 37
2.1.2. Оператор if с веткой еlsе ..... 41
2.1.3. Если зaroловок слишком длинный .... 43
2.1.4. 3arоловок и тело подпроrраммы . . 46
2.2. Особенности оформления операторов выбора 48
2.3. Последовательность взаимоисключающих if'ов 54
2.4. Метки и оператор goto .............. 56
2.5. Как разбить длинную строку. . . . . . . . . . . . . 60
2.5.1. Слишком длинное выpажение в присваивании 60
2.5.2. Слишком длинный вызов подпроrраммы . . . . . . . 62
2.5.3. Слишком длинный зarоловок подпроrраммы .... 63
2.5.4. Длинная строковая константа (строковый литерал) 65
2.6. Разделители и пробелы . . . . . . . . . . . . . . . . . . . . 67
2.7. Особенности Паскаля ..................... 69
2.7.1. Реrистр букв, ключевые слова и идентификаторы 69
2.7.2. Вложенные подпроrраммы ....... 70
2.7.3. Как управиться с секциями описаний 70
2.8. Особенности языка Си . . . . . . . . 71
2.8.1. Соrлamения об именах 71
2.8.2. Описания и инициализаторы 74
2.8.3. Оператор постусловия 77
2.8.4. О модулях и слове static 79
2.8.5. Характерные ошибки в оформлении функции 80
2.9. Особенности Си++ . . . . . . . . 80
2.9.1. Соrлamения об именах ......... 80
2.9.2. Класс или структура? . . . . . . . . . . 82
2.9.3. Форматирование зaroловков классов 82
2.9.4. Форматирование зarоловка конструктора 83
2.9.5. Тела функций в зarоловке класса . . . . . 85
3. О некоторых изыках «с особенностими» 88
3.1. Язык ассемблера . . . . . . 88
3.2. Лисп и ero диалекты . . . . 90
3.3. Пролоr, Эрланr и друrие 94
Вместо заключения 98