Writing good code is hard. In general, you should be looking to learn programming practices, principles, and patterns.
The main aspects of coding:
* Make it work (programming paradigms)
* Make it right (code structure/design fundamentals)
* Make it fast (dynamic structure/engineering)