While I agree that most problems have different solutions and it is up to the programmer to not only define those solutions but turn them into an implementation, there are guidelines that facilitate...