I love:

  • Functional programming
  • Tiny self-described atomic functions
  • Declarative way of doing things instead of direct calling functions
  • ?: ternary operators, if it's reasonable
  • Singletons
  • Flat and concise constructions
  • Modular decomposition

I HATE:

  • Large functions: 10+ lines of code are cumbersome, 20 and more -- are frightening!
  • Long and nested constructions, aka if/else aka switch/case aka nested functions in closure or whatever. I would cut hands off for that.
  • if/else is evil, switch/case is even worse, btw.
  • Poor organized code. E.g. doing everything on controllers, smart templates, etc.
  • Doing something just for meeting the deadline, sacrificing quality
  • //TODO: somebody will refactor this crap i've done here in better time, after i release this and become a manager
  • // I made so much efforts to write it, I can't just remove it now, so I'll comment it out