Использование констант
Автор: Александр Михновец
Last updated
Was this helpful?
Автор: Александр Михновец
Last updated
Was this helpful?
Опечатки всегда преследуют программиста. От них не избавиться, но сегодня мы научимся технике, которая позволит уменьшить шанс их появления. Для этого воспользуемся встроенной системой подсказок при написании кода IntelliSense.
Известно, что если переменная объявлена, то при написании первых букв, данная технология, выведет нам подсказку в выпадающем окне, и мы не сможем опечататься, т.к. будем выбирать из списка. Этим и воспользуемся, на примере консольного меню и switch.
Но сначала проблематика:
Как бы мы не звали Дедушку Мороза или Снегурочку – они не появятся, потому что в команде, указанной в консольном меню и соответствующем case есть очепятки.
Вторым неприятным моментом, является то, что если мы захотим позвать не Деда Мороза, а Халяву на сессию, то менять команду надо в ДВУХ местах – в консольном меню и case.
Чтобы избавиться от двух бед сразу, надо команду вызова заменить на переменную. А значит при последующем вводе данная команда будет предложена IntelliSense и мы не опечатаемся при вводе. Если надо будет поменять значение команды, то сделаем это только в одном месте – при инициализации переменной.
В консольном меню подставляем переменную:
Но case капризничает и не хочет работать с переменной:
Это особенность оператора выбора switch, который требует для своих case, чтобы значения для них были неизменные, даже на этапе компиляции. Потому что он не перебирает все варианты как if() – else if()-else if() поочередно, а обращается напрямую к нужному case
Чтобы задать переменной постоянное значение, воспользуемся ключевым словом const.
const в языке программирования C# - это ключевое слово, используемое для создания констант. Константа - это переменная, значение которой не может измениться после ее определения. Определение константы с использованием ключевого слова const происходит на этапе компиляции, и значение константы должно быть известно на этапе компиляции.
Определение константы с использованием const выглядит следующим образом:
Сразу пропадает проблема с case – ошибка исчезает
Константы именуются с большой буквы
В имени константы только первая буква каждого слова должна быть заглавная
Константы объявляются перед блоком переменных и отделяются от них пустой строкой
Если константа создана для связки консольное меню + switch (case) к имени константы добавляется Command
Константы не являются переменными и не могут быть изменены. Константы могут быть числами, логическими значениями, строками или нулевыми ссылками. Не создавайте константу для предоставления сведений, которые могут измениться в любое время. Например, не используйте константное поле для хранения цены услуги, номера версии продукта или торгового названия компании.
На курсе «Базовый C#» константы используются только для связки консольное меню и switch. В остальных случаях используйте переменные.
Константы повышают читаемость кода и предотвращают магические числа, что делает код более понятным для разработчиков.
Четкость кода. Код становится более читабельным и понятным, так как пользователю не нужно понимать, что означает каждая переменная.
Снижение вероятности ошибок. Значения констант не могут быть изменены, поэтому код конструкции switch не нужно изменять при изменении значений переменных.
Повышение производительности. Компьютеру не нужно тратить время на вычисление значений констант, что может ускорить работу программы.
Пример правильного кода: