I believe yes. Although as a general rule DRY is ideal, there are times when it is better to simply repeat yourself. I find myself disregarding DRY often when in the pre-development testing phase. You never know when you will need to make slight changes to a function, that you do not want to make in another. I of course try to always observe DRY on "finished" (applications that are completed, and will NOT ever need to be modified) applications, but those are few and far between. In the end it depends on the applications futures needs. I've done applications I wished was DRY, and I've thanked God I didn't observe it on others.