There are tons of articles with this title and now there is also one from me. Actually, I started from this Toptal article for Rails developer and enriched it. In most cases, I was more restricting than the original article.
- #1 Putting too much logic in the controller
- #2 Putting too much logic in the view
- #3 Putting too much logic in the model
I wouldn’t differentiate between controller/view/model. It is always putting too much logic in any class/function. Follow the Single Responsibility Principle.
- #4 Using generic helper classes as a dumping ground
Don’t write “helper classes”. If you need some generic functionality – write a generic module and import it!
Also don’t use “base” or “generic” or something else. Name things!
- #5 Using too many
gems3rd party modules
On this one, I disagree. Sure, it can affect the performance, but this doesn’t mean you shouldn’t use 3rd party modules. Use the right ones and as little as need but as much you must.
- #6 Ignoring your log files
- #7 Lack of automated tests
- #8 Blocking on calls to
external servicesbackground tasks - #9 Getting married to existing database migrations
- #10 Checking sensitive information into source code repositories