CHAPTER 7 Development

A good programmer is someone who always looks both ways before crossing a one-way street.

—DOUG LINDER

Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live.

—MARTIN GOLDING

WHAT YOU WILL LEARN IN THIS CHAPTER:            

  • Tools that are useful to programmers
  • How to decide which algorithms are better than others
  • How to use top-down design to turn designs into code
  • Programming tips that can make code easier to debug and maintain

To many programmers, development is the heart of software engineering. It’s where fingers hit the keyboard and churn out the actual program code of the system. Without development, there is no application.

As is the case with other stages of software development, the edges of development are a bit blurry. Low-level design may identify the classes that a program will need, but it may not spell out every method that the classes must provide and it might provide few details about how those methods work. That means the development stage must still include some design work as developers figure out how to build the classes.

Similarly, the next stage of software engineering, testing, often begins before development is completely finished. In fact, it’s best to test software early and often. It’s widely known that bugs are easiest to find and fix if they’re detected soon after they’re created, so if possible you should test every method you write as soon as it’s finished (sometimes ...

Get Beginning Software Engineering now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.