It’s one thing to create code, it’s another to create code that’s aesthetically pleasing. And pleasing not just in visual appreciation but also the how the design of the code contributes toward the purpose of creating value for users. With thoughtful consideration, it’s possible to decompose the notion of beauty, or good versus bad code, into a set of characteristics that can be used to evaluate alternative styles of code. Code itself is like art, it’s subjective. With the right context and a mutual appreciation of consistency, you can create beautiful code.
Words can’t describe what I can show, watch the free introduction (below) to understand more about what you’ll take away from this course.
What are the requirements?
What am I going to get from this course?
Identify and apply characteristics that lead to consistent, aesthetically pleasing code. Code that’s a joy to be responsible for.
Learn trade offs and how to come to a consensus as a team about how to approach consistency.
You’ll learn to improve the code you write yourself, and improve existing code, in a productive manner.
You’ll start to see the impact of rewriting or refactoring code and how it can pay huge dividends without much effort.
Learn about tools that take the pain out of writing code well, so you can focus on what the code accomplishes.
What is the target audience?
If you’re interested in not just writing code, but writing code well, this course is for you.
|Section 1: Introduction|
A or B?
The aesthetics of code
Format of course
Getting access to code used in the videos throughout the course
|Section 2: Naming is one of the best investments|
Choose your words wisely.
What do you mean?
Read the code out loud
Function naming matters too
scopeConventions – naming that helps identify scope
ConstructorFunctions – how to name constructor functions
CONSTANT_CONVENTIONS – naming to indicate constants
What is hungarian notation?
Be careful what you say
Tips for pluralization
Hands on with a bubble sort algorithm.
My thoughts on the bubble sort algorithm
|Section 3: Consistency in the structure of code|
Would you read this book?
How to structurally format code with consistency
Using tools to handle formatting for you.
Controlling indentation in code.
Controlling spacing in code.
Leverage line wraps and braces to partition code vertically.
Watching line length
Removing excessive blank lines
One set of settings for the team
Being explicit with parenthesis
Hands on – make sense of this
My thoughts on the hands on example
|Section 4: The role comments play in code.|
What’s the color of George Washington’s white horse?
Restating the obvious
Comments at the end of lines
Comments in lieu of naming
Comments in lieu of functions
Comments in lieu of changing the code
Commented out code
Commenting public interfaces and JSDoc
Comments to explain tradeoffs
Leaving todos in code
Carefully crafting comments
The infamous 50 line file header comment
Hands on – what do you think of these comments?
My thoughts about comments in the hands on example
What role can tools play in all of this?
Opening the samples for this course in WebStorm
Finding your way around WebStorm
Navigating code like a pro in WebStorm
Refactoring code like a pro in WebStorm
EditorConfig, a tool to help enforce basic rules across a variety of editors
Finding issues with jslint
Finding issues with jshint
Finding issues with eslint
A workflow to catch issues as they happen, but with a safety net just in case
ESLint inspections combined with the power of WebStorm code formatting
Hands On – try these tools out
|Section 6: The impact of function composition|
Functions matter too!
Some background on the code example we’ll use throughout this section.
Applying Command Query Separation (CQS)
Not returning early?
Explicit return statements with intermediate variables
Declare variables next to their first use
The compose method refactoring
|Section 7: Further areas of exploration|
Automated testing helps you write code well
My first automated test
Object Oriented Programming principles
|Section 8: Share some code and get some feedback|
Feedback about code from outside this course
Aleks – bubble sort
Feedback about code from this course
Wes Higbee, Expert in innovative software development
I’m passionate about helping organizations delight customers.
I’ve had decades of experience developing software and working with teams to improve how software is developed. My experience spans everything from the conception of an idea, through implementation and ongoing support.
I’ve been interviewed on The Businessology Show and Art of Value about how important value is in software development. I speak extensively both online and offline about software and business. I routinely write about topics of interest including articles featured in MSDN Magazine, InfoQ, VeraSage and JetBrain’s TeamCity blog. I’ve authored several courses on both Pluralsight and Udemy.
I love creating courses to distill and share knowledge with people just like you, that have an unquenchable thirst for learning and improvement.
- Lectures 0
- Quizzes 0
- Duration 50 hours
- Skill level All level
- Language English
- Students 897
- Assessments Self