Leanpub Header

Skip to main content

Make Bugs (nearly) Impossible

Resisting human and AI slop in an LLM age.

This book is 90% completeLast updated on 2026-07-22

With the advent of LLMs and AI coding assistants, we are generating code at an ever-accelerating rate. How do we manage this influx of code without getting fatigued and overwhelmed? How do we ensure coding standards are maintained? What practices and tools can we put in place to amplify our efforts while not introducing more bugs?

Minimum price

$4.99

$29.99

You pay

Author earns

$

Also available for 1 book credit with a Reader Membership

PDF
EPUB
WEB
APP
About

About

About the Book

I've spent 20 years trying to get developers to care about the quality of the code that they are creating, and to understand their tools at a deeper level. LLMs have enabled the acceleration of code generation, but at what cost? In "Make Bugs (nearly) Impossible", I set forward some tools and techniques to help you manage complexity and increasing PRs while maintaining the quality of your code. Let's move forward into this new age of LLMs without increasing our bug rates and maintenance burden.

Note: If you already own my C++ Best Practices books, you'll find a lot of overlap here, because there are a lot of topics that are important for code quality that apply both to C++ and to programming in general.

Author

About the Author

Jason Turner

Jason has been using and teaching C++ for over 20 years now. He is host of C++Weekly https://www.youtube.com/c/JasonTurner-lefticus and author of many C++ projects designed to help others learn and explore C++ https://github.com/lefticus/.

The Leanpub Podcast

Episode 186

An Interview with Jason Turner

Contents

Table of Contents

Introduction and Philosophy

Introduction

About This Book

Slow Down

Use AI Coding Assistants Judiciously

Treat AI Like An External Contributor

Balance Determinism (Tools) and Non-Determinism (AI and Humans)

Definitions and Types of Programming Languages

Programming Is Not Magic

Remember: Your Language Is Not Single Paradigm!

Know Your Standard Library and The Industry Standards

Use The Tools

Don’t Invoke Undefined Behavior

  1. Build an Automated Foundation

Use Continuous Integration

Automate Your Tests

Track Branch and Path Test Coverage

Use Your Package Manager Wisely

Maximize Compiler and Interpreter Warnings

Test With Multiple Compilers and Interpreters

Analyze and Lint Your Source Files

Create Custom Static Analysis

Apply Runtime Analysis

Harden Your Binaries Against Attacks

Detect Copy-Pasted Code

Set Code Complexity and Length Limits

Fuzz Test Your API

Mutation Test Your Tests

Analyze Your CI Runs

  1. Follow a Strict Process

Use Source Control

Stay Strict Even on Small Projects

Lock Important Branches

Keep Tasks Small

Require All Checks Pass

Require Code Reviews

Prefer Squash Merges

  1. Establish Good Coding Patterns

Be Afraid of Global State

Make Your Interfaces Hard to Use Wrong

Use Stronger Types

Consider If Using the API Wrong Invokes Undefined Behavior and Use Contracts

Don’t Let Return Values Be Ignored

Don’t Return Unmanaged Resources

Avoid Manual Resource Management

Decouple Your APIs and Make Them Generic When You Can

Avoid Complicating Simple Things

Prefer Higher Level Constructs

Don’t Copy and Paste Code

Prefer Immutability

Always Initialize Your Values

Limit Variable Scope

Treat Control Statements as Expressions

  1. Final Thoughts and Appendices

TL;DR

Continue Your Developer Education

Developer Tooling Reference

Exercise Index

Exercise Index, Alphabetically

This Chapter Was Not Written By A Human

Thank You

Also by the Author

Also by the Author

The Leanpub 60 Day 100% Happiness Guarantee

Within 60 days of purchase you can get a 100% refund on any Leanpub purchase, in two clicks.

See full terms...

Earn $8 on a $10 Purchase, and $16 on a $20 Purchase

We pay 80% royalties on purchases of $7.99 or more, and 80% royalties minus a 50 cent flat fee on purchases between $0.99 and $7.98. You earn $8 on a $10 sale, and $16 on a $20 sale. So, if we sell 5000 non-refunded copies of your book for $20, you'll earn $80,000.

(Yes, some authors have already earned much more than that on Leanpub.)

In fact, authors have earned over $15 million writing, publishing and selling on Leanpub.

Learn more about writing on Leanpub

Free Updates. DRM Free.

If you buy a Leanpub book, you get free updates for as long as the author updates the book! Many authors use Leanpub to publish their books in-progress, while they are writing them. All readers get free updates, regardless of when they bought the book or how much they paid (including free).

Most Leanpub books are available in PDF (for computers) and EPUB (for phones, tablets and Kindle). The formats that a book includes are shown at the top right corner of this page.

Finally, Leanpub books don't have any DRM copy-protection nonsense, so you can easily read them on any supported device.

Learn more about Leanpub's ebook formats and where to read them

Write and Publish on Leanpub

You can use Leanpub to easily write, publish and sell in-progress and completed ebooks and online courses!

Leanpub is a powerful platform for serious authors, combining a simple, elegant writing and publishing workflow with a store focused on selling in-progress ebooks.

Leanpub is a magical typewriter for authors: just write in plain text, and to publish your ebook, just click a button. (Or, if you are producing your ebook your own way, you can even upload your own PDF and/or EPUB files and then publish with one click!) It really is that easy.

Learn more about writing on Leanpub