Skip to content

Writing Good Code

October 19, 2023
June 10, 2023

design-patterns

Clean Coder Blog Uncle Bob
Clean Coders - YouTube
CodeAesthetic - YouTube
Alex Hyett - YouTube

Software Programming - YouTube
Clean Code by Uncle bob

Teach Yourself Programming in Ten Years
Goodbye, Clean Code — Overreacted
How to make your code self-documenting? | CodeUtopia
What do the top 1% of software engineers do that the other 99% do not? | CodeUtopia
The Joel Test: 12 Steps to Better Code – Joel on Software
The art of writing small and plain functions
12 essential software development principles and concepts
11 signs you’re writing great software code | InfoWorld
Every Programmer should strive for reading these 5 books
Doing Terrible Things To Your Code
articles/a_personal_generic_things_i_learned_as_a_software_developer_list.md at master · Dobiasd/articles
Common Coding Mistakes You Should Avoid - Better Programming - Medium
The 12 Habits of Highly Effective Software Developers | by Erik van Baaren | Jul, 2021 | Better Programming
Programming Habits You Should Adopt - Level Up Coding
How to Write Clean Code – Tips and Best Practices (Full Handbook)

6 ways minimalism can help you write clean code - DEV Community 👩‍💻👨‍💻
Clean code... Why bother? - DEV Community 👩‍💻👨‍💻

The Secret of Simple Code. How 10x Developers Produce 10x Value | by Eric Elliott | JavaScript Scene | Medium
5 Ways to Become a 10x Developer

Clean Architectures in Python
Clean Architectures in… by Leonardo Giordani [PDF/iPad/Kindle]
These four “clean code” tips will dramatically improve your engineering team’s productivity
Enterprise Programming Tricks For Clean Code - YouTube

ArjanCodes
7 Python Code Smells: Olfactory Offenses To Avoid At All Costs - YouTube
More Python Code Smells: Avoid These 7 Smelly Snags - YouTube
Even More Code Smells - Purge These 7 Python Putrid Peccadilloes Now! - YouTube
The Ultimate Guide to Writing Functions - YouTube
Cohesion and Coupling: Write BETTER PYTHON CODE Part 1 - YouTube
Dependency Inversion: Write BETTER PYTHON CODE Part 2 - YouTube

Be an Engineer, not a Frameworker | by John Raines | Medium
Be An Engineer, Not A Frameworker | Prime Reacts - YouTube

Cohesion and coupling: write BETTER PYTHON CODE Part 1 - YouTube
Dependency inversion: write BETTER PYTHON CODE Part 2 - YouTube
The strategy pattern: write BETTER PYTHON CODE Part 3 - YouTube

Rob Pike: Notes on Programming in C

Replace Nested Conditional with Guard Clauses early exit
如何重构"箭头型"代码 | | 酷 壳 - CoolShell
API 设计原则 – Qt 官网的设计实践总结 | | 酷 壳 - CoolShell

What can I learn right now in just 10 minutes that could be useful for the rest of my programming career? - Quora
Read the answers by:

Nikolay Bachiyski: Selected pieces from “Elements of Style” translated to code | WordPress.tv
The junior developer’s guide to writing super clean and readable code

kdeldycke/awesome-falsehood: 😱 Falsehoods Programmers Believe in
Introduction | 97 Things Every Programmer Should Know
mtdvio/every-programmer-should-know: A collection of (mostly) technical things every software developer should know about

Rubber duck debugging - Wikiwand
I do not use a debugger – Daniel Lemire's blog

A short comment on comments in the code - DEV Community

The Top Five Developer Skills That'll Make You a Hero (Hint: Involves LEGOs)

Books

7 books you must read to be a real software developer | InfoWorld
8 career pitfalls every software developer should avoid | InfoWorld

6 books every programmer should read – Stupid Gopher – Medium
Books for the Modern Programmer – Stupid Gopher – Medium

Clean Code
Pragmatic Programmer

CRISP

Don't write clean code, write CRISP code — Bitfield Consulting

The Tao of Programming

The Tao of Programming

Principle of least astonishment - Wikiwand
Error Codes And The Law Of Least Astonishment | Hackaday
Principle Of Least Astonishment

Technical Debt

Programming Principles
行外人看不見的債務 - 技術債務 | Gap 撈 Tech
WTF is technical debt? – Hacker Noon

Clean as you go (a life hack for code) - YouTube

Measuring Technical Debt - DevOps.com
5 best practices to measure and manage technical debt | InfoWorld
FGA: "legacy" is not a pejorative. Do not use it as such.
Bugsnag Blog - Modern approaches to managing legacy code
Working Well With Legacy Code - via @codeship | via @codeship
What Technical Debt Is and How to Calculate It - DZone Agile
Technical Debt – The Anti-DevOps Culture | Premier Developer

We’re approaching the limits of computer power – we need new programmers now | Programming | The Guardian
Software: It's a Gas

I need no magic

Magic (programming) - Wikiwand
Where do you stand on "magic" within languages and frameworks? - DEV Community
Node.js is a Salad Bar — Medium
I Want Simple, Not Just Easy | Loris Cro's Blog

Magic is good when it's documented and you're given the ability to inspect the magical bits to find the science behind them.
Magic is bad when there are many layers of indirection/metaprogramming, nothing about how it works is documented, and there's no obvious way of overriding their magic with your own magic.

The way I use the term "magic" is whenever there's implicit behavior (generally based on naming rules, but sometimes on introspection/reflection, scanning, etc.) that generally cause "action at a distance"; it can probably be generalized as "too much abstractions, more than you can comprehend".