coding patterns

Better Software Magazine Articles

Software to Go: Developing Applications for a Wireless World

The mobile arena is in constant evolution, changing the way we approach software development both from a business and a technical perspective. Taking the time to set your plan can make the difference between success and just a good idea. In this article, Luis Carvalho shares some guidelines for bringing new applications into the mobile ecosystem.

Luis Miguel  Carvalho's picture Luis Miguel Carvalho
A Path to Readable Code

Test-driven development is usually presented as a developer process. On the other hand, acceptance test-driven development (ATDD) is a communication process between the customer and the developer. In ATDD, the tests provide the terminology in customer-understandable terms. The customer's terminology suggests abstract data types that make code more readable.

Ken Pugh's picture Ken Pugh
Train Wreck Spotting

An oft-overlooked goal of encapsulation is to simplify usage. Without this sensibility, classes can end up with simplistic interfaces and callers can end up with method-call pile-ups.

Kevlin Henney's picture Kevlin Henney
A Galaxy of Patterns

The Gang of Four's design patterns have a special place in many programmers' hearts. But it's time to look beyond the GoF twenty-three and realize they aren't the only patterns in the universe.

Neil Harrison's picture Neil Harrison
The Accidental Complexity of Logic

Much code complexity and no small number of program defects can be traced back to confusion over logical expressions and the expression of logic. Find out how you can get that complexity under control.

Kevlin Henney's picture Kevlin Henney
A ''D'' in Programming

In certain company, the topic of favorite programming languages can elicit the same response as other taboo subjects, such as religion and politics. But, Chuck's going out on a limb to discuss his new favorite language, D, and some of its best features, such as its being strongly typed and compiling to native code, yet it is garbage collected.

Chuck Allison's picture Chuck Allison
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
Designing Reusable Software

For software to be reusable, it must be usable in a variety of contexts, and an important attribute of reusability at the code level is genericity. Learn more about defining for reuse and using generics.

Chuck Allison's picture Chuck Allison
Developing Your Sense of Smell

With all of the resources available these days—books, blogs, Webcasts, training,—that aid us in our design, are you one of those programmers who lacks the "olfactory gene" needed to detect refactoring odors in your code? Unit testing helps you refine your sense of smell and improve your code design.

Tod Golding's picture Tod Golding
Hurry Up & Wait

There are no industry standards for Web response times. How long a user is willing to wait for a Web page to load depends on any number of variables and conditions. Find out how to determine and quantify performance criteria and use those criteria to create happy customers.

Scott Barber's picture Scott Barber


AgileConnection is a TechWell community.

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