These are some properties I see bad code having
* insecure
* doesn't work
* lack of checks and validation leading to unhandled states
* inconsistent style and method
* difficult to understand for wrong reasons
* spaghetti with too much coupling
* poorly optimized and inefficient