- •Лабораторные работы
- •1. Порядок выполнения работы.
- •2. Содержание отчета.
- •Лабораторная работа № 1.1. Создание каркаса транслятора.
- •Лабораторная работа № 1.2. Разбор исходного файла.
- •1. Порядок выполнения работы.
- •2. Содержание отчета.
- •Лабораторная работа №3.1. Синтаксический анализатор.
- •1. Порядок выполнения работы.
- •2. Содержание отчета.
- •Лабораторная работа №5. Разработка генератора кода
- •1. Порядок выполнения работы.
- •2. Теоретическая часть
- •3. Содержание отчета
- •Лабораторным работам
- •Вариант 1
- •Вариант 2
- •Вариант 3
- •Вариант 4
- •Вариант 5
- •Вариант 6
- •Вариант 7
- •Вариант 8
- •Вариант 9
- •Вариант 10
- •Вариант 11
- •Вариант 12
- •Вариант 13
- •Вариант 14
- •Вариант 15
- •Вариант 16
- •Курсовой проект
- •Оформление
- •Пустые строки
- •Пробелы в строке
- •Локальные переменные
- •Комментарии
- •Инструкции (statements)
- •Оформление if, if-else, if-else if-else
- •Оформление for, foreach
- •Оформление while, do-while
- •Оформление switch
- •Оформление try-catch
- •Указания по оформлению псевдокода
Оформление
Используйте табуляцию, а не пробелы для отступов. В средах типа VS лучше использовать режим табуляции. Его можно настроить в диалоге Options -> Text Editor -> Ваш_любимый_язык ->Tabs: Indenting = Smart, Tabs = Keep Tabs. В общем, это настройки по умолчанию для многих языков.
При форматировании текста (кроме отступа в начале строки) используйте пробелы. Для этого удобно использовать режим Virtual Space, который в VS 2002 настраивается в Options -> Text Editor -> Ваш_любимый_язык -> General.
Избегайте строк длиннее 78 символов, переносите инструкцию на другую строку при необходимости.
При переносе части кода инструкций и описаний на другую строку вторая и последующая строки должны быть отбиты вправо на один отступ (табуляцию).
Оставляйте запятую на предыдущей строке так же, как вы это делаете в обычных языках (русском, например).
Избегайте лишних скобок, обрамляющих выражения целиком. Лишние скобки усложняют восприятие кода и увеличивают возможность ошибки. Если вы не уверены в приоритете операторов, лучше загляните в соответствующий раздел документации.
Не размещайте несколько инструкций на одной строке. Каждая инструкция должна начинаться с новой строки.
Примеры:
longMethodCall(expr1, expr2, expr3, expr4, expr5);
var1 = a * b / (c - g + f) + 4 * z;
var2 = (a * (b * (c + d) + e * (f / z)) + 4); |
Пустые строки
Используйте две пустые строки между логическими секциями в исходном файле.
Используйте две пустые строки между объявлениями классов и интерфейсов.
Используйте одну пустую строку между методами.
Если переменные в методе объявляются отдельным блоком, используйте одну пустую строку между их объявлением и инструкцией, идущей за этим блоком.
Используйте одну пустую строку между логическими частями в методе.
Пробелы в строке
После запятой должен быть пробел. После точки с запятой, если она не последняя в строке (напр. в инструкции for), должен быть пробел. Перед запятой или точкой с запятой пробелы не ставятся.
Все операторы должны быть отделены пробелом от операндов с обеих сторон.
Логически связный блок регулярной структуры желательно форматировать в виде таблицы. При этом для выравнивания в таблице следует использовать пробелы, но не табуляцию. Среды типа VS автоматизируют процесс форматирования, вставляя пробелы или табуляции в соответствии с пользовательскими настройками. Будьте внимательны и проверяйте конечный результат, включая неотображаемые символы (для VS 2002 и старше – меню Edit->Advanced->View White Space).
ПРИМЕЧАНИЕ Для упрощения работы можно использовать следующий трюк. Таблицу можно сформировать с помощью табуляции, выделить область прямоугольным выделением (Alt + курсор мыши вправо), а затем применить к этой области Edit->Advanced->Untabify Selection. |
Примеры:
TestMethod(a, b, c); int Bar { get; set; }
a=b; // неверно a = b; // верно for (int i=0; i<10; ++i) // неверно { } for( int i = 0 ;i< 10;++i) // неверно
for (int i = 0; i < 10; ++i) // верно { }
if(a==b){} // неверно
if (a == b) // верно { }
// табличное форматирование string name = "Mr. Ed"; int myValue = 5; Test aTest = Test.TestYou; |
