Comment by krick

Comment by krick 2 months ago

2 replies

These are extremely opinionated, and shouldn't be treated as a rule of thumb. As somebody else said, there isn't a rule of thumb here at all, but if I was to make up one, I would probably tell you the opposite:

- You have to push ifs down, because of DRY.

- If performance allows, you should consider pushing fors up, because then you have the power of using filter/map/reduce and function compositions to choose what actions you want to apply to which objects, essentially vectorizing the code.

panstromek 2 months ago

I feel like you either flipped the naming or the reasons you cite don't support the conclusion.

Pushing ifs down usually prevents vectorization and the cases article mentions are those non-dry where a similar branch has to be multiplied on a ton of functions down in the stack, often because the type is internally tagged.

  • coolcase 2 months ago

    3rd opinion: don't care until you have a performance issue to profile. Or you are building a high frequency trading system.