Better Software Magazine Articles

A Gram of Prevention

Following an "I-click-therefore-I-Program" methodology does not lead to quality software. Good code can and should evolve from clear, up-front descriptions of the solution to the problem at hand.

Chuck Allison's picture Chuck Allison
Idioms and Idiosyncrasies

As programmers, we are not merely engineering drones; we are also artisans. The act of programming involves as much artistry as it does technicality. When we craft great software, we naturally use language idioms help to show the elegance, beauty, and artistry of a piece of code. But sometimes the desire for beautiful idiomatic code can trip us up.

Pete Goodliffe's picture Pete Goodliffe
Encourage Pair Programming

Pair programming is one of the most controversial agile practices. Managers are concerned about the costs and developers are concerned about personal agony. But there also are many benefits. If you are thinking about trying pair programming, here are several reasons why you should.

Rob Myers's picture Rob Myers
Developers ... Start Your Engines: Reuse with Source Code Searches

Source code search engines can help you find chunks of reusable code. These search engines differ from generic text search engines by organizing the results to reflect the way code is organized—into functions, classes, packages, etc. These reviews of some popular engines can help you rev up reuse in your work.

Alan Berg's picture Alan Berg
Piles of Sand, Redux: Why Compilers Miscalculate Floating Point Numbers

In this continuation of his June 2007 article on floating-point numbers, Chuck Allison explains why certain compilers miscalculate sin(x) for large arguments and why some get it right. He also divulges that floating-point spacing is the key to getting the most from numeric computations.

Chuck Allison's picture Chuck Allison
Indulge in Code Review

Code review is one quality initiative you can't afford to skip. Don't have time for a full-blown, line-by-line review? No problem. Discover how even something as simple as a peer review can benefit your project and ultimately improve your code.

Tod Golding's picture Tod Golding
Code Improvement: Five Practices to Help Spread the Joy of Great Code Design

The software we produce is like the neighborhoods in which we live--the blueprints aren't as important as the enjoyment of simply using it. The best design brings joy to both those who create it and those who use it. Jeff Grover and Zhon Johansen detail five practices to help you spread the joy.

Jeff Grover's picture Jeff Grover
Refactoring: Small Steps to Help You Clean Up Your Code

Poor software design will slow down even the most well-meaning code. Code smells are one element of poor design to watch out for in your projects. C. Keith Ray explains how you can start washing away your code smells with a dose of code refactoring.

C. Keith Ray's picture C. Keith Ray
It Takes Two to Tango: What You Should Know About Pair Programming

Pair programming is an Agile practice that has been shown to greatly improve code quality without a huge increase in development time. This article explains the ins and outs of pair programming and some things you need to consider before you tell team members to grab a partner and get programming.

Rachel Davies's picture Rachel Davies

AgileConnection is a TechWell community.

Through conferences, training, consulting, and online resources, TechWell helps you develop and deliver great software every day.