It is interesting that the output of code is associated with sight and taste, while the quality of the code itself is associated with smell.
https://en.wikipedia.org/wiki/Code_smell
*edit: that wikipedia page ^ itself is a pretty answer to your request for a list of things to avoid when writing maintainable code.
Pairs nicely with the fact that smell is the sense most likely to be experienced differently between two people :)
I think that's because you can usually smell when food is close to being rotten before you can see it...
EDIT: reading the WardsWiki reference from that Wikipedia page, there's also the point made by early users of the term that smells are something you have to check out, but don't always mean something needs fixing - e.g. a bad smell may be a gas leak, or it may just be a rubbish bin.