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 295 - String Concatenation

    Code Smell 295 - String Concatenation

    Untangling the string mess in your code TL;DR: Avoid string concatenation for complex strings, use templates. Problems…

  • Code Smell 294 - Implicit Return

    Code Smell 294 - Implicit Return

    Your language adds clever features. Making YOU more obsolete TL;DR: Overusing implicit returns makes your code harder…

  • The Great Programmer Purge: How AI Is Taking Over the Tech Workforce

    The Great Programmer Purge: How AI Is Taking Over the Tech Workforce

    How AI is Redefining the Role of Programmers in the Tech Industry TL;DR: AI-generated code outperforms lazy…

    1 条评论
  • Refactoring 024 - Replace Global Variables with Dependency Injection

    Refactoring 024 - Replace Global Variables with Dependency Injection

    Break Hidden Dependencies for Cleaner Code TL;DR: Replace global variables with dependency injection to improve…

  • 10 More Simple Tips to Boost Your Productivity x2

    10 More Simple Tips to Boost Your Productivity x2

    The previous article on life hacks was a huge success. Let's start the year with more productivity tips! TL;DR: More…

  • Code Smell 293 - isTesting

    Code Smell 293 - isTesting

    Don’t let test code sneak into production TL;DR: Avoid adding isTesting or similar flags. Problems ?? Leaky abstraction…

  • Refactoring 001 - Remove Setters

    Refactoring 001 - Remove Setters

    Setters violate immutability and add accidental coupling TL;DR: Make your attributes private to favor mutability…

  • Code Smell 292 - Missing Return

    Code Smell 292 - Missing Return

    When your code loses its way TL;DR: Missing return statements cause unexpected behavior. Problems ?? Silent failures…

  • Code Smell 291 - Mutable Keys

    Code Smell 291 - Mutable Keys

    Changing Keys, Losing Values TL;DR: When you use mutable objects as keys in hashed collections, changing them breaks…

    2 条评论
  • Refactoring 023 - Replace Inheritance with Delegation

    Refactoring 023 - Replace Inheritance with Delegation

    Transform your rigid inheritance into flexible delegations TL;DR: Replace restrictive inheritance hierarchies with…

社区洞察

其他会员也浏览了