All of those are critical to strengthen your coding skill from different aspects ! However, in my opinion, the best way to strengthen your coding skill is to surround yourself with people who are enthusiastic about coding !
Those 3 options are not exclusive - use them all.
Developing is solving tasks using coding, so it's essential. Learning never stops, each time you have to develop something new, you will learn a thing or two. Use challenges to stay in shape and pinpoint the things you have to clarify.