The Productive Programmer

The Productive Programmer

The Productive Programmer

The Productive Programmer

Paperback

$39.99 
  • SHIP THIS ITEM
    Qualifies for Free Shipping
  • PICK UP IN STORE
    Check Availability at Nearby Stores

Related collections and offers


Overview

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.


Product Details

ISBN-13: 9780596519780
Publisher: O'Reilly Media, Incorporated
Publication date: 07/01/2008
Series: Theory in Practice (O'Reilly)
Pages: 222
Product dimensions: 7.00(w) x 9.10(h) x 0.70(d)

About the Author

Neal is an Application Architect at ThoughtWorks, a global IT consultancy with an exclusive focus on end-to-end software development and delivery. Before joining ThoughtWorks, Neal was the Chief Technology Officer at The DSW Group, Ltd., a nationally recognized training and development firm. Neal has a degree in Computer Science from Georgia State Universityspecializing in languages and compilers and a minor in mathematics specializing in statistical analysis. He is also the designer and developer of applications, instructional materials, magazine articles, video presentations, and author of the books Developing with Delphi: Object-Oriented Techniques (Prentice-Hall, 1996), JBuilder 3 Unleashed (Sams, 1999) (as the lead author), Art of Java Web Development (Manning, 2003), and No Fluff, Just Stuff Anthology: The 2006 Edition (editor and contributor). His language proficiencies include Java, C#/.NET, Ruby, Object Pascal, C++, and C. His primary consulting focus is the design and construction of large-scale enterprise applications. Neal has taught on-site classes nationally and internationally to all phases of the military and to many Fortune 500 companies. He is also an internationally acclaimed speaker, having spoken at numerous developer conferences worldwide.If you have an insatiable curiosity about Neal, visit his web site at http://www.nealford.com. He welcomes feedback and can be reached at nford@thoughtworks.com.

Table of Contents

Foreword; Preface; Who This Book Is For; Conventions Used in This Book; Using Code Examples; How to Contact Us; Safari® Enabled; Acknowledgments; Chapter 1: Introduction; 1.1 Why a Book on Programmer Productivity?; 1.2 What This Book Is About; 1.3 Where to Go Now?; Mechanics; Chapter 2: Acceleration; 2.1 Launching Pad; 2.2 Accelerators; 2.3 Macros; 2.4 Summary; Chapter 3: Focus; 3.1 Kill Distractions; 3.2 Search Trumps Navigation; 3.3 Find Hard Targets; 3.4 Use Rooted Views; 3.5 Use Sticky Attributes; 3.6 Use Project-Based Shortcuts; 3.7 Multiply Your Monitors; 3.8 Segregate Your Workspace with Virtual Desktops; 3.9 Summary; Chapter 4: Automation; 4.1 Don’t Reinvent Wheels; 4.2 Cache Stuff Locally; 4.3 Automate Your Interaction with Web Sites; 4.4 Interact with RSS Feeds; 4.5 Subvert Ant for Non-Build Tasks; 4.6 Subvert Rake for Common Tasks; 4.7 Subvert Selenium to Walk Web Pages; 4.8 Use Bash to Harvest Exception Counts; 4.9 Replace Batch Files with Windows Power Shell; 4.10 Use Mac OS X Automator to Delete Old Downloads; 4.11 Tame Command-Line Subversion; 4.12 Build a SQL Splitter in Ruby; 4.13 Justifying Automation; 4.14 Don’t Shave Yaks; 4.15 Summary; Chapter 5: Canonicality; 5.1 DRY Version Control; 5.2 Use a Canonical Build Machine; 5.3 Indirection; 5.4 Use Virtualization; 5.5 DRY Impedance Mismatches; 5.6 DRY Documentation; 5.7 Summary; Practice; Chapter 6: Test-Driven Design; 6.1 Evolving Tests; 6.2 Code Coverage; Chapter 7: Static Analysis; 7.1 Byte Code Analysis; 7.2 Source Analysis; 7.3 Generate Metrics with Panopticode; 7.4 Analysis for Dynamic Languages; Chapter 8: Good Citizenship; 8.1 Breaking Encapsulation; 8.2 Constructors; 8.3 Static Methods; 8.4 Criminal Behavior; Chapter 9: YAGNI; Chapter 10: Ancient Philosophers; 10.1 Aristotle’s Essential and Accidental Properties; 10.2 Occam’s Razor; 10.3 The Law of Demeter; 10.4 Software Lore; Chapter 11: Question Authority; 11.1 Angry Monkeys; 11.2 Fluent Interfaces; 11.3 Anti-Objects; Chapter 12: Meta-Programming; 12.1 Java and Reflection; 12.2 Testing Java with Groovy; 12.3 Writing Fluent Interfaces; 12.4 Whither Meta-Programming?; Chapter 13: Composed Method and SLAP; 13.1 Composed Method in Action; 13.2 SLAP; Chapter 14: Polyglot Programming; 14.1 How Did We Get Here? And Where Exactly Is Here?; 14.2 Where Are We Going? And How Do We Get There?; 14.3 Ola’s Pyramid; Chapter 15: Find the Perfect Tools; 15.1 The Quest for the Perfect Editor; 15.2 The Candidates; 15.3 Choosing the Right Tool for the Job; 15.4 Un-Choosing the Wrong Tools; Chapter 16: Conclusion: Carrying on the Conversation; Building Blocks; Cygwin; The Command Line; Colophon;
From the B&N Reads Blog

Customer Reviews