Paul Krill
Editor at Large

Coding advice offered

news
Mar 20, 20072 mins

In a bombastic presentation at SD West 2007 on Tuesday, Robert Martin, an author and president of Object Mentor, stressed craftsmanship as the goal for software developers.

To this end, Martin, author of “Agile Software Development: Principles, Patterns and Practices,” cited the importance of short, iterative development cycles and testing of code.

Developers are impeded by issues such as ambiguous requirements for their applications. The craftsman must find a way to solve this problem, Martin said.

“The answer? Short iterations,” said Martin. He recommended two-week development cycles.

Developers should show their software to the customer frequently to define requirements, even if what is shown is “dead wrong,” he said.

“If it leads to better definition, we have made progress,” Martin said. The feedback loop with customers should begin as early as possible, Martin stressed.

Also, developers should only add architecture as needed. “We want to do very simple architecture and evolve that architecture as appropriate,” he said.

Martin also cautioned against redundant code. “Redundancy kills projects. Redundancy makes for terribly sloppy code,” he said.

He cited laws for test-driven development, including urging that no more production code be written than is sufficient to pass a unit test.

Debugging, meanwhile, is something that does not need to be done a lot, he said. “I don’t use debuggers much,” said Martin, stressing that debuggers slow down developers.

Quality assurance persons, meanwhile, should not be finding bugs, Martin said. He also warned against testing code through the GUI, unless it is the GUI that is being tested.

Martin cited time concerns that prompt developers to write bad code. But it is bad code that slows them down, he said.

Paul Krill

Paul Krill is editor at large at InfoWorld. Paul has been covering computer technology as a news and feature reporter for more than 35 years, including 30 years at InfoWorld. He has specialized in coverage of software development tools and technologies since the 1990s, and he continues to lead InfoWorld’s news coverage of software development platforms including Java and .NET and programming languages including JavaScript, TypeScript, PHP, Python, Ruby, Rust, and Go. Long trusted as a reporter who prioritizes accuracy, integrity, and the best interests of readers, Paul is sought out by technology companies and industry organizations who want to reach InfoWorld’s audience of software developers and other information technology professionals. Paul has won a “Best Technology News Coverage” award from IDG.

More from this author