Monday, May 29, 2017

Clean code: Writing code for Humans

May 29, 2017

Study the code on The course is called "Clean code: Writing code for Humans".

Read the article on "7 reasons clean code matters" article is here to read.

Take some notes here.

11:13 pm, 5/29/2017

The course is released on Oct. 7, 2013. It is always on time!

Julia, it is always better to learn coding styles, principles first and then practice leetcode algorithms.

Cory House   - the lecturer of the course's website is here.

assign booleans implicitly (Julia's favorite rating: 7 out of 10)

- 3 good reasons to create a function (10 out of 10)

convey intent, eliminate excessive indentation, avoid duplication

problem with zombie code

Boundaries matter - (Julia's rating: 9 out of 10)

dynamic JS in C# (JavaScript and C# etc),
html in JS string,
JS in HTML (JavaScript and Html),
inline Styles (css and html),
Dynamic SQL in C# strings

Stay native - advantages (Julia's favorite ranking 9 out of 10)
1. Cached
2. Code colored
3. Syntax checked
4. Separation of concerns
5. Reusable
6. Avoids string parsing
7. Can minify & obfuscate

Maximize signal to noise ratio (Excellent concept!)

Logic that follows the TED rules:

Do one thing


High cyclomatic complexity
Excessive indentation
zombie code
unnecessary comments
poorly named structures
huge classes
long methods
no white space
overly verbose

Self-documenting code

Well written code is self-documenting.

Clear intent
Layers of abstractions
Format for readability
Favor code over comments

Complex conditionals

Discussion topic - excessive indentation: solutions

extract method
fail fast
return early

Mayfly variable - just in time


June 5, 2017  11:00 pm - 11:53 pm

Demo 42 minutes

Bug Fix: What a contrast (Julia's rating: 10 out of 10)

Do One Thing

Watch the lecture titled "Clean Code"

Follow up 

July 29, 2017  10:30 pm - 11:30 pm
Go over the lecture video again

TED Principle
Terse, expressive, do one thing
Don't repeat yourself

How to write Self-document code?
clear intent
layers of abstraction

No comments:

Post a Comment