Better Software Magazine Articles

Leveraging A Learning Culture

Mistakes happen. It's how you respond to them that matters. Teams might react to a bug with panic and blame, leading to a quickly hacked fix and possibly more issues. Taking time to investigate and learn leverages problems into process and practice improvement and a higher quality product.

Lisa Crispin's picture Lisa Crispin
The Ghost of a Codebase Past

Revisiting your old code can be an enlightening experience. Pete Goodliffe encourages us to look back at our old code to see how our technique has improved, how our programming skills have progressed, and what we can learn from it.

Pete Goodliffe's picture Pete Goodliffe
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
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
Why Compilers Miscalculate Floating Point Numbers: Piles of Sand, Redux

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
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

Pages

AgileConnection is a TechWell community.

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