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