Clean Code
12.4K subscribers
2.69K photos
7 videos
3.64K links
Советы по написанию кода, обзоры распространенных ошибок и многое другое.

Ссылка: @Portal_v_IT

Сотрудничество: @oleginc, @tatiana_inc

РКН: clck.ru/3Ht6ch
Download Telegram
Преобразуйте if в набор if-then-else

Использование вложенных if оправданно только в очень узком кругу задач. Фрагмент слева - развестистое дерево решений, которое имеет много недостатков хотя бы потому, что проверяемые условия избыточны. Этот код легко преобразуется в набор if-then-else.

А что если бы числа не были так упорядочены? Тогда можно необходимое условие вынести отдельно и в операторе if выполнить операцию И, чтобы добиться необходимого результата без применения вложенности. Код сложнее понять, если он движется вглубь — все, что видит программист, должно лежать на поверхности.

#tips #if_then_else
В бюллетенях некорректные значения

Когда вы используете перечислимый тип в условиях if или case, проверяйте появление недопустимых значений. В переключателе case для перехвата неправильных значений часто применяется оператор default. Пользуйтесь им мудро для предотвращения непрогнозируемых алгоритмических сценариев.

#programming #if_case
🧑‍💻 Условная компиляция

По возможности не используйте препроцессорные директивы (#if, #ifdef) в файлах .c. Это затрудняет чтение кода и понимание логики. Вместо этого используйте такие директивы в файле заголовка, чтобы определить функции, используемые в этих файлах .c с заглушками в виде холостых команд в случае #else, а затем вызывайте эти функции безусловно из файлов .c. Компилятор не будет генерировать код для вызовов заглушек, при этом результат останется таким же, но логику будет проще понять.

Продолжение следует...

Clean Code #совет #cleancode
🧑‍💻 Условная компиляция

...Лучше компилировать целые функции, а не части функций или части выражений. Вместо того, чтобы вставить #ifdef в выражение, выделите часть или все выражение в отдельную вспомогательную функцию и примените условие к этой функции.

Если у вас есть функция или переменная, которая может не использоваться в конкретной конфигурации, и компилятор предупредит о том, что она использоваться не будет, не компилируйте ее и используйте для этого #if.

В конце любого крупного блока #if или #ifdef (более нескольких строк) после #endif в той же строке поместите комментарий, отмечающий используемое условное выражение.

Clean Code #совет #cleancode