BT

Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ

Topics

Choose your language

InfoQ Homepage News Presentation: The Ethics of Error Prevention

Presentation: The Ethics of Error Prevention

Bookmarks

No one wants programming errors. We have many tools to detect and correct errors in code. We also have a number of techniques we can use to prevent the introduction of errors. In this presentation, Michael Feathers looks at error prevention while posing a number of interesting questions.

Watch: The Ethics of Error Prevention (56 min.)

Michael starts his presentation noting that we are very aware of the need for error prevention and most of us are aware of several techniques to achieve this goal. But do we practice these techniques, and if so how many of them, and why or why not? If we fail to practice these techniques are we less than professional? Are we unethical practitioners?

Five "Good Ideas" are introduced and discussed:

  • Abstraction
  • Design by Contract
  • Clean Room Engineering
  • Test Driven Development
  • Pair Programming / Software Inspection

Each idea is examined and the manner in which it helps prevent errors is explored. He also discusses the advantages and disadvantages of each idea. For example: an advantage of contracts and test driven techniques is automation, an advantage not shared by software inspections.

In the last part of his talk, Michael suggests that all of these ideas share a common purpose - to make us reflect on our code, to actually think about what it does and why. Not only does this reflection help prevent errors, it also motivates us to write better code - code that is simpler, easier to read, properly refactored, and better designed.

Rate this Article

Adoption
Style

BT