This question already has an answer here:
I have noticed that my classmates write unstructured code with a lot of duplication. And their solutions of the same tasks often contains more then three times more lines than my project. But when after completion of the task tutor add new unexpected request I have to spend four times more time in comparison with they. (Example of request changing: we have developed an offline chess, and after that we get request turn it work through the network.)
So I began to doubt if code using "recommended" styles and patterns is less modifiable. Is the code duplication more corresponding for situation with a high probability of unexpected requirements changing?