programming practices

software development concepts

How Good an Estimator are You? Part III

For the final installment in the How Good an Estimator Are You series, I'd like to start with an anecdote from chapter 7 of Software Estimation: Demystifying the Black Art : Suppose you're at a reception for the world's best software estimators. The room is

By Jeff Atwood ·
Comments

software development concepts

Text Columns: How Long is Too Long?

Ian Griffiths recently wrote a proof of concept WPF browser for the MSDN online help [http://www.interact-sw.co.uk/iangblog/2006/06/21/wpfmsdn]. One of the improvements cited is multi-column text: > This is why WPF offers a column-based reading experience. We know from experience in the print

By Jeff Atwood ·
Comments

programming practices

Programmers and Chefs

From an audio interview with Ron Jeffries: The reason the kitchen is a mess is not because the kitchen is poorly designed, it's because we didn't do the dishes after every meal. Michael Feathers recently wrote an eerily similar entry about the professional chef's

By Jeff Atwood ·
Comments

code quality

Code Elegance, Code Balance

I've been reading a great book of interviews with programmers circa 1989. One of the most fascinating interviews is with Wayne Ratliff, the author of dBase. Wayne's description of balance in programming really resonated with me: Interviewer: Can you elaborate on this feeling for balance and

By Jeff Atwood ·
Comments

naming conventions

I Shall Call It.. SomethingManager

Alan Green rails against the meaninglessness of SomethingManager [http://www.bright-green.com/blog/2003_02_25/naming_java_classes_without_a.html] : > How many classes do you come across named SomethingManager? Any decent sized commercial system seems to have plenty – SessionManager, ConnectionManager, PolicyManager, QueueManager, UrlManager, ConfigurationManager, or even, sadly,

By Jeff Atwood ·
Comments

software development concepts

The Value of Repetition.. Again

I was struck by a comment in Steve Yegge's not-so-new blog: How could you have arrived at [the conclusion that top tech companies do a good job at interviewing] after reading this blog entry? Did you read a different post than the one I wrote? I said interviewing

By Jeff Atwood ·
Comments

software development concepts

Seven Habits of Highly Effective Programmers

Philip Chu's Seven Habits of Highly Effective Programmers [http://www.technicat.com/writing/programming.html] is witty, eloquent, and peppered with illustrative real world anecdotes: > Upon joining an early-stage startup called Neomar, I found myself in two months of design meetings for a wireless internet portal that

By Jeff Atwood ·
Comments

programming practices

Why Programmers File the Worst Bug Reports

Who files better bugs? Users or developers? In How to Report Bugs Effectively [http://www.chiark.greenend.org.uk/~sgtatham/bugs.html], Simon Tatham notes that software developers, contrary to what you might think, file some of the worst bug reports: > It isn't only non-programmers who produce

By Jeff Atwood ·
Comments

enums

Avoiding Booleans

Brad Abrams recently posted [http://blogs.msdn.com/brada/archive/2005/10/26/475085.aspx] another great excerpt from the unfortunately named .NET Framework Standard Library Annotated Reference Volume 2 [http://www.amazon.com/exec/obidos/ASIN/0321194454/codihorr-20]: > Avoid creating methods with Boolean parameters. Boolean parameters make calls

By Jeff Atwood ·
Comments

unit testing

Unit Testing vs. Beta Testing

Why does Wil Shipley, the author of Delicious Library, hate unit testing so much? I've certainly known companies that do "unit testing" and other crap they've read in books. Now, you can argue this point if you'd like, because I don'

By Jeff Atwood ·
Comments

security

Give me parameterized SQL, or give me death

I have fairly strong feelings when it comes to the stored procedures versus dynamic SQL argument, but one thing is clear: you should never, ever use concatenated SQL strings in your applications. Give me parameterized SQL, or give me death. There are two good reasons you should never do this.

By Jeff Atwood ·
Comments

programming practices

Good Programmers Get Off Their Butts

I searched for this citation, and like Wes, I remember reading it, but I can’t remember the exact place I read it: This echoes another comment from a recently read blog article, the author of which I cannot recall. Good programmers get off their butts. Typically, programmers won’t

By Jeff Atwood ·
Comments