Clean Code
13.3K subscribers
2.3K photos
5 videos
2.94K links
Советы по написанию кода, обзоры распространенных ошибок и многое другое.

Ссылка: @Portal_v_IT

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

РКН: clck.ru/3Ht6ch
加入频道
Бабушкины сказки

Вы когда-нибудь пробовали описать цикл так, как показано на примере справа? Вы скажете, что это безумие, однако вот какой интересный факт хранит в себе этот фрагмент кода.

Казалось бы, меньше строк кода - быстрее и эффективнее он работает, однако тесты на Java и Microsoft Visual Basic показали, что второй фрагмент минимум на 60% быстрее первого.

#tips #cycles
Объединение циклов

Если два цикла работают с одним набором элементов, можно выполнить их объединение (jamming). Выгода здесь объясняется устранением затрат, связанных с выполнением дополнительного цикла.

Объединение циклов обычно требует, чтобы условия циклов были одинаковы. В нашем примере оба цикла выполняются от 0 до employeeCount - 1, поэтому мы можем их объединить.

Для случая employeeCount = 100 экономия времени составляет 28%(C++), 32%(PHP), 4%(Visual Basic). Объединить циклы иногда трудно. Будьте внимательны: прежде чем объединять циклы, убедитесь, что это не нарушит работу остальных частей кода.

#tips #cycles
Он зависимый, у него крыша едет

Использование значения индекса цикла после его завершения — дурной тон. Значения этих индексов часто непредсказуемы для других разработчиков.

Второй фрагмент содержит дополнительную переменную, однако, согласитесь, он не зависит от последнего значения индекса, не содержит дополнительных проверок, но читается легко и непринужденно.

#tips #cycles
Тренировка на циклы.
#programming #training #cycles
Бабушкины сказки

Вы когда-нибудь пробовали описать цикл так, как показано на примере справа? Вы скажете, что это безумие, однако вот какой интересный факт хранит в себе этот фрагмент кода.

Казалось бы, меньше строк кода - быстрее и эффективнее он работает, однако тесты на Java и Microsoft Visual Basic показали, что второй фрагмент минимум на 60% быстрее первого.

#tips #cycles