Table of contents Introduction Conventions The key principles Meaningful Names Functions Classes Comments Formatting Error Handling Unit Tests