1
Even though I have studied Design Patterns and have read books on how to go about it, I find it difficult to recognize patterns in code.
I have been told that this skill improves over time of reading and writing more code. The question is can code be semantically analyzed on the fly to
1) Detect duplicate code
2) Detect design patterns
3) or taking it one step further: Suggest how to go about refactoring
Are there any tools which already do this?