Bad Programming 101 – Part 2 Become a Better Coder
Learn to avoid bad programming practices that create low-quality code that is difficult to maintain or test, and exhibits properties such as brittleness, low comprehensibility, and high defect density. This video takes a humorous slant on the typical programming practice manual by reversing the usual approach. Its approach is to jokingly assume that you wish to be an agent of chaos and sneak bad code into a software project in order to ruin its chances of success, or frustrate your colleagues by producing unreadable, error-prone garbage. Under this pretense, the video teaches how to avoid the kind of bad habits that introduce bugs or cause code contributions to be outright rejected.
The bad practices are organised into topics that form the basis of programming (layout, variables, loops, etc.). At the end of each topic, a more serious voice chimes in temporarily to explain why the ‘advice’ just given is actually poor and suggests some better alternative practices. By sourcing classic programming guidebooks, empirical studies, and a range of coding conventions from some of the most successful software projects, this video explains the reasoning behind good programming practices.
These topics form the basis of good programming style and are important for anyone embarking on a career in professional programming or wishing to contribute to a software project. Normally, beginner programmers learn these good practices by going through a period of making mistakes and learning from them. This video helps to shorten that learning process by teaching a core of good practices and will enable you to become a productive programmer faster.
This video – Part 2 of the series – focuses on coding practices at the ‘modular scale’, i.e. at the level of organisational building blocks such as subroutines and classes.
What You Will Learn
Become a better coder by learning how (not) to program
Choose your tools wisely
Think of programming as problem solving
Discover the consequences of a program’s appearance and overall structure
Avoid bad habits and common mistakes
See how poor error-handling makes for unstable programs