> ## Content Index
> Fetch the complete content index at: https://nolongerset.com/llms.txt
> Use this file to discover other available public pages before exploring further.

# Some Bugs are Better than Others
- URL: https://nolongerset.com/some-bugs-are-better-than-others/
- Published: 2021-03-26T00:37:27.000Z
- Updated: 2026-05-08T13:02:49.000Z
- Description: Not all bugs are created equal. Avoid the expensive ones by making more of the ones that are easy to find and fix.
- Author: Mike Wolfe
- Tags: Commentary, #Import 2026-05-20 02:59

Bugs are easiest to fix immediately after you create them. The longer a bug goes undiscovered the longer it will take to fix. Not to mention [all the damage](https://nolongerset.com/the-curse-of-reliable-software/) an undiscovered bug can wreak on your users (i.e., customers and clients).

With that in mind, here's a list of bugs in order from the easiest and least expensive to fix through the most difficult and most expensive to fix:

1. [Syntax errors](https://nolongerset.com/syntax-errors/)
2. [Compile errors](https://nolongerset.com/compile-errors/)
3. [Misunderstood requirements (*before* you start writing code)](https://nolongerset.com/misunderstood-requirements-pre-code/)
4. [Automated test errors (i.e., failing tests)](https://nolongerset.com/automated-test-errors/)
5. [Runtime errors](https://nolongerset.com/runtime-errors/)
6. [Misunderstood requirements (*after* you've written the code)](https://nolongerset.com/misunderstood-requirements-post-code/)
7. [Logic errors](https://nolongerset.com/logic-errors/)

### Moral of the story

You (and your team) are going to make mistakes. You're human. Accept this fact and design your processes so that you make more mistakes at the top of the list and fewer mistakes at the bottom.

---

### Referenced articles

[The Curse of Reliable SoftwareHow does one avoid the reliability paradox? One option is to intentionally write unreliable, buggy software. There’s a better option.![](https://nolongerset.com/favicon.png)No Longer SetMike Wolfe![](https://storage.ghost.io/c/eb/d7/ebd732c1-5f03-4f07-b386-5d08557e15c9/content/images/2020/10/cat-963931_1920.jpg)](https://nolongerset.com/the-curse-of-reliable-software/)

[Syntax ErrorsEvery programming language has its own syntactical quirks. The C family loves braces. Python loves indentation. BASIC loves words. And Perl loves #%@!{}\]&.![](https://nolongerset.com/favicon.png)No Longer SetMike Wolfe![](https://storage.ghost.io/c/eb/d7/ebd732c1-5f03-4f07-b386-5d08557e15c9/content/images/2021/08/vw-4868785_1920.jpg)](https://nolongerset.com/syntax-errors/)

[Compile ErrorsCompile errors are easy to keep out of deployed code (just remember to Debug > Compile). Which is good because they hard crash Access in Runtime mode.![](https://nolongerset.com/favicon.png)No Longer SetMike Wolfe![](https://storage.ghost.io/c/eb/d7/ebd732c1-5f03-4f07-b386-5d08557e15c9/content/images/2021/08/volkswagen-4220406_1920.jpg)](https://nolongerset.com/compile-errors/)

[Misunderstood Requirements in the Project Design PhaseYour client knows what’s wrong. They \*think\* they know how to fix it. But treating symptoms is never as effective as treating the disease.![](https://nolongerset.com/favicon.png)No Longer SetMike Wolfe![](https://storage.ghost.io/c/eb/d7/ebd732c1-5f03-4f07-b386-5d08557e15c9/content/images/2021/08/nature-1284037_1920.jpg)](https://nolongerset.com/misunderstood-requirements-pre-code/)

[Automated Test Errors (aka, Failing Tests)You can have a bug in your code and/or in your test. You’re unlikely to have the \*same\* bug in your code and your test.![](https://nolongerset.com/favicon.png)No Longer SetMike Wolfe![](https://storage.ghost.io/c/eb/d7/ebd732c1-5f03-4f07-b386-5d08557e15c9/content/images/2021/08/volkswagen-1377320_1920.jpg)](https://nolongerset.com/automated-test-errors/)

[Runtime ErrorsIt’s impossible to predict every possible scenario that could befall our applications in the wild. But we need to at least try.![](https://nolongerset.com/favicon.png)No Longer SetMike Wolfe![](https://storage.ghost.io/c/eb/d7/ebd732c1-5f03-4f07-b386-5d08557e15c9/content/images/2021/08/vosvos-1962836_1920.jpg)](https://nolongerset.com/runtime-errors/)

[Misunderstood Requirements (After You’ve Written the Code)As you install the final piece of crown molding in the dog’s second bedroom, you can’t help but smile at the absurdity of it all.![](https://nolongerset.com/favicon.png)No Longer SetMike Wolfe![](https://storage.ghost.io/c/eb/d7/ebd732c1-5f03-4f07-b386-5d08557e15c9/content/images/2021/08/beetle-5523224_1920.jpg)](https://nolongerset.com/misunderstood-requirements-post-code/)

[Logic ErrorsThe logic error is the most dangerous and insidious of all software errors.![](https://nolongerset.com/favicon.png)No Longer SetMike Wolfe![](https://storage.ghost.io/c/eb/d7/ebd732c1-5f03-4f07-b386-5d08557e15c9/content/images/2021/08/cars-884673_1920.jpg)](https://nolongerset.com/logic-errors/)

*Image by [HotelArizonaHD](https://pixabay.com/users/hotelarizonahd-2196447/?utm%5Fsource=link-attribution&utm%5Fmedium=referral&utm%5Fcampaign=image&utm%5Fcontent=2122580) from [Pixabay](https://pixabay.com/?utm%5Fsource=link-attribution&utm%5Fmedium=referral&utm%5Fcampaign=image&utm%5Fcontent=2122580)*