We may not make an informed statement on the abilities of programmer B, but we know enough to make an informed guess.
Programmer B's method of development was cut and paste, followed by light editing. People who routinely develop this way are generally not very good. Good developers engage in code reuse by modularizing and then reusing modular chunks.
This is why I object to dws's rewrite. It changes the evidence of programmer B's development methodology significantly for the better. It also eliminates the common element of starting with someone else's work and presenting the result as your own.