Результат: ученик читает исходный файл как иерархию лексем, выражений, инструкций, блоков и объявлений и различает синтаксическую корректность, статическую допустимость и фактический смысл программы.
Содержание:
-
Разобрать текст программы на лексические элементы
- пробельные символы и переносы строк;
- однострочные и многострочные комментарии;
- идентификаторы, ключевые и контекстные ключевые слова;
- литералы, операторы и разделители;
- чувствительность
C#к регистру.
-
Понять правила именования
- допустимое начало и продолжение идентификатора;
- смысловое имя вместо случайного сокращения;
PascalCaseиcamelCaseв учебном коде;- различие имени сущности и хранимого ею значения;
- экранированный идентификатор с
@как редкая, но допустимая форма.
-
Различить основные единицы кода
- выражение как вычисление значения;
- инструкция как завершённое действие;
- объявление как введение сущности;
- блок
{ ... }как область вложенных инструкций; - разделитель
;и структурная роль фигурных скобок.
-
Отделить синтаксис от семантики
- синтаксически неверный текст;
- синтаксически корректная, но статически недопустимая операция;
- компилируемая программа с неверным предметным смыслом;
- корректная программа, которая не соответствует поставленной задаче.
-
Научиться читать вложенную структуру
- внешние и внутренние объявления;
- пары открывающих и закрывающих скобок;
- границы инструкций и блоков;
- отступы как средство чтения, а не правило языка;
- чтение кода от внешней структуры к локальным выражениям.
-
Сформировать привычку к точному чтению
- определение статического типа каждого выражения;
- определение порядка выполняемых инструкций;
- поиск места, где изменяется состояние;
- отделение комментария о намерении от фактического поведения кода.

