Stop Calling them ‘Bugs’
Let's name things the right way

Stop Calling them ‘Bugs’ Let's name things the right way

According to Wikipedia:

A software bug is an error, flaw or fault in a computer program or system that causes it to produce an incorrect or unexpected result, or to behave in unintended ways. The process of finding and fixing bugs is termed "debugging" and often uses formal techniques or tools to pinpoint bugs, and since the 1950s, some computer systems have been designed to also deter, detect or auto-correct various computer bugs during operations.

Software bug - Wikipedia

The Past

There are many historical references to the word?Bug. Thomas Edison used it even before the first electrical computer.

During computing early days on?Mark III, the large computing facilities were a source of heat, therefore attracting real bugs like moths.

Computer pioneer?Grace Hopper?coined the term while looking for a system malfunction.

No hay texto alternativo para esta imagen

The present

70 years after, datacenters are very clean facilities (leaving no space for people or insects). Even our home computers are almost free from malfunction caused by real bugs.

We still name our software glitches as?bugs?instead of?faults?and this is keeping us from confronting with real problems, real defects and our own responsibilities.

Software Quality process is under our control.

It is our responsibility to deliver quality products.

The term?Bug?sounds like an excuse out of our scope infecting our systems. It is not.

No hay texto alternativo para esta imagen

The Future

Language is continuing evolving. We?recently?got rid of the?master?word on our GIT repos.

To embrace the future and our own responsibilities, we need to be very careful with?names, not only with our classes, methods and variables but also with our artifacts.

  • We don't need to?debug?software any more. Find the root fault (caused by ourselves or previous developers), embrace the problem,?write an automated test, and fix it. Easy as that. ??
  • We need no?bug trackers. We just need to care for incidents, and not all incidents are faults. Surprisingly, many of them are related to misunderstandings, lack of definition, ambiguities etc. ??
  • We don't want to fix all software faults. A good deal of mature software have?known bugs. Now called?known defects. ??

Let's start by calling things by their name.

Beware of bugs in the above code; I have only proved it correct, not tried it.?

Donald Knuth

Muy bueno. Aunque quedó "this is keeping as from confronting with real problems,...", sería "us" en vez de "as". ?Encontré un bug!

要查看或添加评论,请登录

Maximiliano Contieri的更多文章

  • Code Smell 281 - Hashes

    Code Smell 281 - Hashes

    When Equals and HashCodes Misbehave TL;DR: Misaligned equals() and hashCode() break collections. Problems The least…

  • Code Smell 280 - Spaghetti Code

    Code Smell 280 - Spaghetti Code

    GOTO Chaos: Spaghetti Code This article is dedicated to the late Thomas E. Kurtz, one of BASIC's creators, as it was…

    1 条评论
  • Code Smell 279 - Loop Premature Optimization

    Code Smell 279 - Loop Premature Optimization

    Over-optimized loops hurt the eyes TL;DR: Don't optimize loops without a clear need and concrete real-world evidence…

  • Code Smell 278 - DirName and File

    Code Smell 278 - DirName and File

    Avoid Ambiguous Naming for Path Variables TL;DR: Use clear names for better code understanding. Problems Unclear…

  • Refactoring 018 - Replace Singleton

    Refactoring 018 - Replace Singleton

    Breaking Free from the Evil Singleton TL;DR: Refactor singletons to reduce coupling Problems Addressed High coupling…

  • Code Smell 277 - UPPERCASE Acronyms

    Code Smell 277 - UPPERCASE Acronyms

    Avoid Jumbled Acronyms for Clarity TL;DR: Treat acronyms like normal words to improve human readability. Problems…

  • Code Smell 276 - Untested Regular Expressions

    Code Smell 276 - Untested Regular Expressions

    Regex Without Tests is Asking for Trouble - Don't be lazy. It is free with AI! TL;DR: Use clear and concise regular…

  • Refactoring 017 - Convert Attributes to Sets

    Refactoring 017 - Convert Attributes to Sets

    Favor immutability by converting attributes to sets TL;DR: Using sets for attributes simplifies your code and makes…

    2 条评论
  • Explain in 5 Levels of Difficulty: Ethereum

    Explain in 5 Levels of Difficulty: Ethereum

    Ethereum is reshaping the future of decentralized apps. TL;DR: I will explain Ethereum and its smart contracts in five…

    1 条评论
  • Code Smell 275 - Missing Test Wrong Path

    Code Smell 275 - Missing Test Wrong Path

    Check the happy path to be happy TL;DR: Ensure you fail the test when no exception is thrown in invalid conditions…

社区洞察

其他会员也浏览了