Even when 90% of methods are the same, I find it a bad practice to have a bool added to a signature indicating what the method should exactly do. This is because the boolean is evaluated at runtime, leading to branches causing performance loss. It is far better style to have two methods. For example here this could be RotationLookAt and RotationLookAtNormalized. If you want to reduce code, RotationLookAtNormalized could call RotationLookAt after Normalizing. The huge advantage of this is no branching, the compiler resolves it before runtime. Also it is far better readable. Btw. Not always normalizing vectors can be usefull sometimes.