The Productive Programmer (Theory in Practice (O'Reilly))

The Productive Programmer (Theory in Practice (O'Reilly))

Neal Ford

Language: English

Pages: 226

ISBN: 0596519788

Format: PDF / Kindle (mobi) / ePub


Anyone who develops software for a living needs a proven way to produce it better, faster, and cheaper. The Productive Programmer offers critical timesaving and productivity tools that you can adopt right away, no matter what platform you use. Master developer Neal Ford not only offers advice on the mechanics of productivity--how to work smarter, spurn interruptions, get the most out your computer, and avoid repetition--he also details valuable practices that will help you elude common traps, improve your code, and become more valuable to your team. You'll learn to:

  • Write the test before you write the code
  • Manage the lifecycle of your objects fastidiously
  • Build only what you need now, not what you might need later
  • Apply ancient philosophies to software development
  • Question authority, rather than blindly adhere to standards
  • Make hard things easier and impossible things possible through meta-programming
  • Be sure all code within a method is at the same level of abstraction
  • Pick the right editor and assemble the best tools for the job

This isn't theory, but the fruits of Ford's real-world experience as an Application Architect at the global IT consultancy ThoughtWorks. Whether you're a beginner or a pro with years of experience, you'll improve your work and your career with the simple and straightforward principles in The Productive Programmer.

 

 

 

 

 

 

 

 

 

 

 

apply them. You know what speeds up your work, but you feel like you don’t have time to apply it. “I know there’s a keyboard shortcut that does this, but I’m in a hurry, so I’ll use the mouse instead and look up that keyboard shortcut later.” Later never comes. Becoming more productive involves finding a balance between pursuing productivity without gutting your current productivity (I know, this drips with irony). Try to tackle one productivity enhancer per week, concentrate on just that one

IP addresses, etc. Even in this scenario, only the information unique to a developer’s workstation should reside in a local file. Make utilities (like Ant and Nant) allow you to externalize specific information so that you can isolate just the changes. Why keep binaries? Projects today depend on a swath of external tools and libraries. Let’s say you are using one of the popular logging frameworks (like Log4J or Log4Net). If you don’t build the binaries for that logging library as part of your

complaining about it (like me), he fixed it. Panopticode* is an open source project with lots of common metrics tools preconfigured. The essence of Panopticode consists of an Ant build file with lots of open source projects and their JAR files preconfigured. You supply your source path, your library path (in other words, all the JAR files you need to build your project), and your test directory, then run Panopticode’s build file. It does the rest. * Download at http://www.panopticode.org/.

don’t have a good variable mechanism, so we have to manage this by hand, which is, of course, prone to errors. Consider this version of the same snippet of XML, but kept in a Groovy markup builder instead: def writer = new StringWriter() def xml = new MarkupBuilder(writer) def maxCount = 10 def countDiff = 4 xml.'struts-config'() { 'data-sources'() { 'data-source'(type:'com.mysql.jdbc.jdbc2.optional.MysqlDataSource') { 'set-property'(property:'url', value:'jdbc:mysql://localhost/schedule')

perform tab filename completion at the command line by default, it is a simple registry tweak away. To enable filename completion in Windows 2000: 1. Run regedit. 2. Navigate to HKEY_CURRENT_USER\Software\Microsoft\Command Processor. 3. Make a DWORD value EnableExtensions, equal to 1. 4. Make a DWORD value CompletionChar, equal to 9. Many developers don’t realize that Windows Explorer’s address bar also offers Tab filename completion, exactly like a command prompt. The keyboard shortcut to get

Download sample

Download