It only works that way when you code applications that require little or no domain knowledge.
Image processing has been given as an example. It's a very valid example. Anything intensive in numerics is extremely error prone if you depend on what you describe.
For an example, a subcontractor wrote telescope pointing code using the exact methodology you describe. It couldn't point to the right part of the sky. I took over the algorithm development requiring a much more substantial analysis phase, along with proper code documentation. Now, it works.
It's not enough to recognize that a vector algorithm is being used. You also need to understand the details of the coordinate systems, sense of rotations, corrections applied, interpolation algorithms (they are NEVER trivial on the sphere and if you try to do what appears natural, you will be wrong).
There is much more to some of these algorithms than can be specified in variable names and style guides. Unit tests are critical, but they are not an appropriate place to describe algorithms being used. Those are input -> output, not how you get there.