Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ


Choose your language

InfoQ Homepage News Seven Deadly Sins of Programming

Seven Deadly Sins of Programming

Let's face it, all developers have written code in the past that they now regret.  Along the way, most also develop a mental list of the most egregious bad development practice to avoid in the future.  Eric Gunnerson, C# Community Coordinator at Microsoft, has posted his list of the Seven Deadliest Sins of Programming:

  • Excessive Coupling
  • Inappropriately Clever Code
  • Deferred Refactoring
  • Premature Optimization
  • Overuse of Virtual (C#) or Overridable (VB.NET)
  • Overuse of Inheritance
  • Premature Generalization
MVP and author Bill Ryan has a list of 7 Deadly Sins including more conceptual items, such as "making too many assumptions."

What's on your list?

Rate this Article


Hello stranger!

You need to Register an InfoQ account or or login to post comments. But there's so much more behind being registered.

Get the most out of the InfoQ experience.

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Community comments

  • How about ...

    by Cameron Purdy,

    Your message is awaiting moderation. Thank you for participating in the discussion.

    Making non-virtual the default for methods in an OO language? ;-)

    (It's probably the biggest design mistake in the C# language. Welcome to the 1980s and C-front, folks!)


    Cameron Purdy
    Tangosol Coherence: The Java Data Grid

  • Failure to follow DRY principle ...

    by Sammy Larbi,

    Your message is awaiting moderation. Thank you for participating in the discussion.

    Although, I guess that could come under "deferred refactoring," considering that not refactoring would be deferring it for infinite time.

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p