Coding is Communication
“Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live” - John Woods
Software developers, especially in small to medium sized companies, are responsible for more than just typing code. You will sit in a key position between customers, marketers, designers, managers, deployment machines, and your fellow developers. At the end of the day it is your responsibility to ensure that there is a working application which fits the end user's needs, deploys smoothly on the necessary platforms, and is scalable and maintainable.
Source code is your final product. After hours of planning, emailing, testing, coding, and getting stuck on bugs, all that's left is the source code. And there's no guarantee that you'll be the one to maintain your code. This means it's crucial for you to embed everything you know about the project directly into your code. Completed source code is the most powerful tool you have for sharing your knowledge of the application.
Your finished code needs to be understandable to 3 very different, and equally important audiences:
- End Users must understand why they're using your software and how to use it
- Developers must understand how to test, maintain, expand, and re-use your code
- Deployment Environments must receive carefully tuned, compiled code or risk crashing
We like to think a lot about number 2, and hopefully you will too.
Index
Learning Objectives
- Ethical Programming
- Communicating with Code
- GH Supported Themes
Specifications
- Complete the Programmer's Oath Template, host it live on gh-pages, and attach a link at the top of your portfolio.
- Every time you read or write a line of code ask yourself three questions:
- Does this help the user?
- Does this help the maintainer?
- Does this help runtime execution?
- Read A LOT of code. Print it out on paper if you have to.
- Start building your Developer Vocabulary by contributing to General Resources / Vocabulary.
- Set up ESLint in your text editor.
Resources
Template:
The Programmer's Oath:
- @ Uncle Bob: Videos, Text
- @ FreeCodeCamp
More:
- Communicating with Code
- Is Coding Literacy?
- Code Quality: one, two, three, counterpoint
- 13 Principles of Readable Code
- Writing Clean Code
- Beautiful & Clean
- Linters & Style: