There are a lot of articles, blog posts and videos about clean code development. Most of them put an emphasis on how to do specific things, rather then why you should or what the consequences are if you don't. But I found two really great ones that show you both in a very fun way:

Clean Code I: Arguments
Clean Code II: Functions