Начинающим C# программистам: 5 полезных советов, которые сделают ваш код чище
35К открытий35К показов
Рассказывает Мош Хамедани, автор курсов по C# и AngularJS на udemy
Для тех, кто хорошо понимает английский, советуем также обратить внимание на подобную статью о самых частых ошибках C# программистов.
Многие студенты моего базового курса по С# присылают мне свой код, и, когда у меня есть возможность, я его просматриваю и даю полезные советы для улучшения их навыков программирования. При этом я заметил несколько часто встречающихся ошибок. В данной статье я пролью свет на подобные моменты и расскажу, как сделать ваш код более чистым и упростить жизнь людям, которые будут его поддерживать.
Проверяйте входные данные в первую очередь
Обратите внимание на данный отрезок кода:
Сейчас нужно прочитать весь код до конца, чтобы дойти до строчки, где выбрасывается исключение, если аргумент функции равен null. Но куда лучше было бы проверять входные данные в первую очередь. Это облегчает понимание того, как данный метод должен использоваться, для людей, которые будут читать данный код после вас. Поэтому давайте изменим порядок операторов сравнения:
Теперь вы можете сразу определить, какой аргумент является валидным для передачи в данный метод, и вам не нужно просматривать весь код до самого конца, чтобы это понять.
Оператор else нужен далеко не всегда
Продолжая с кодом из предыдущего примера, если аргумент shape будет равен null, будет выброшено исключение, и тогда остаток метода точно не будет выполнен. Поэтому нет никакого смысла в добавлении else, который, кроме того, добавляет отступов к бо́льшей части кода. Такой код выглядит чище:
Обратите внимание на то, что код после оператора if не имеет дополнительных отступов.
Фигурные скобки?
Этот пункт является полностью субъективным. Одни разработчики любят фигурные скобки, другие нет. Я лично прошел через разные стадии. Тут нет однозначного мнения о том, как поступать правильно. Вы должны сами для себя решать, ставить фигурные скобки или опустить их. Давайте уберем фигурные скобки в нашем примере, и посмотрим как это выглядит:
Мне кажется, теперь код стал чище. А что вы думаете по этому поводу?
Обращайте внимание на названия идентификаторов
Названия идентификаторов в вашем коде важны так же, как и то, как вы назовете своих детей. Я не шучу. Никто не захочет читать чужой код с подобными названиями:
- od: Что значит od? Очередной день? Оператор доставки? Опция доступа?
- Button1_Click(): Что за Button1? И чем она отличается от Button2?
- thisAs: А это что вообще такое?!
Используйте названия, которые будут без искажений передавать ваши идеи в коде.
Избегайте ненужных переменных
В 80-х годах прошлого века книги по программированию учили нас объявлять переменную по любому поводу. Посмотрите на этот кусок кода, который читает два числа с консоли и выводит максимальное из них:
У меня буквально глаза на лоб вылезли, когда я объявлял все эти переменные! В чем основная цель этого кода? Правильно — найти максимум двух чисел. Поэтому firstInput и secondInput, которые являются строками со считанным вводом пользователя, не являются полезными или нужными в этом коде. Всё, что нам надо — два числа. Временная строка, которую мы получаем из консоли в процессе, не является важной. Поэтому эти две переменные никак не улучшают данный код в плане читабельности, а только лишь добавляют лишнего шума. Мы можем считать ввод с консоли и преобразовать его в число одной строкой кода:
В общем, избегайте объявлений ненужных переменных. Используйте переменные для повышения читабельности кода, а не наоборот.
Если советы в данной статье показались вам слишком тривиальными, обратите внимание на статью с 10 полезными особенностями языка C#.
Также советуем вам ознакомиться со списком из 20 других программистов, которые дают полезные советы о программировании на C#.
35К открытий35К показов