Dave Astels posted a concise checklist to determine if you code sucks. Memorize it:
1. Your code sucks if it doesn’t work.
2. Your code sucks if it isn’t testable.
3. Your code sucks if it’s hard to read.
4. Your code sucks if it’s not understandable.
5. Your code sucks if it dogmatically conforms to a trendy framework at the cost of following good design/implimentation practices.
6. Your code sucks if it has duplication.