Code is clean when it has a balance of utility and legibility. At the point where removing any more code would make it harder to read.
When writing code you don't want to aim for things like being 'short', but you really do want to strive for your code to be things like 'straightforward', and 'simple'.
Likewise 'clean' doesn't always mean perfect code either - it just means easy to work with, easy to work around, easy to delete, and easy to extend.