На какие "запахи" стоит обращать внимание при ревью кода


#1

Реддит-обсуждение со списками более-менее часто встречающихся запахов кода. Даже если вы не часто отсматриваете чужой код, такие списки могут просто лишний раз заставить задуматься над тем как вы пишете свой код.

(что еще за запахи?)


#2

Вот эта штука для замещения динамической диспетчеризации enum’ами понравилась, выглядит более удобно чем другие решения
https://crates.io/crates/enum_dispatch


#3

там написано что время вызова методов увеличено в 10 раз.
Вопрос возникает - а какова дельта времени вот этих ускорений?
То есть, допустим, абстрактное приложение работает 24 часа, сколько времени, суммарно, удастся сэкономить? Две секунды?

К примеру вся Qt на виртуальных методах сидит, и это сильно, по производительности, ни кого не напрягает.


#4

Очень сильно зависит от кода же. Если у нас GUI какой-нибудь, где эта диспечеризация случается при движении мышки, нажати клавиши и т.п. очень редком событии, то толку от оптимизации почти никакого не будет. А вот если у нас игровой движок, где 60 раз в секунду оно вызывается для каждого из, скажем, тысячи объектов, тысячу раз, то оптимизация может быть более чем критичной и заметной просто на глаз.