
The Productive Programmer
by Ford, Neal-
This Item Qualifies for Free Shipping!*
*Excludes marketplace orders.
Buy New
Rent Book
Rent Digital
Used Book
We're Sorry
Sold Out
How Marketplace Works:
- This item is offered by an independent seller and not shipped from our warehouse
- Item details like edition and cover design may differ from our description; see seller's comments before ordering.
- Sellers much confirm and ship within two business days; otherwise, the order will be cancelled and refunded.
- Marketplace purchases cannot be returned to eCampus.com. Contact the seller directly for inquiries; if no response within two days, contact customer service.
- Additional shipping costs apply to Marketplace purchases. Review shipping costs at checkout.
Summary
Author Biography
Neal Ford 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 University specializing 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 | p. vii |
Preface | p. ix |
Introduction | p. 1 |
Why a Book on Programmer Productivity? | p. 2 |
What This Book Is About | p. 3 |
Where to Go Now? | p. 5 |
Mechanics | |
Acceleration | p. 9 |
Launching Pad | p. 10 |
Accelerators | p. 18 |
Macros | p. 33 |
Summary | p. 35 |
Focus | p. 37 |
Kill Distractions | p. 38 |
Search Trumps Navigation | p. 40 |
Find Hard Targets | p. 42 |
Use Rooted Views | p. 44 |
Use Sticky Attributes | p. 46 |
Use Project-Based Shortcuts | p. 47 |
Multiply Your Monitors | p. 48 |
Segregate Your Workspace with Virtual Desktops | p. 48 |
Summary | p. 50 |
Automation | p. 51 |
Don't Reinvent Wheels | p. 53 |
Cache Stuff Locally | p. 53 |
Automate Your Interaction with Web Sites | p. 54 |
Interact with RSS Feeds | p. 54 |
Subvert Ant for Non-Build Tasks | p. 56 |
Subvert Rake for Common Tasks | p. 57 |
Subvert Selenium to Walk Web Pages | p. 58 |
Use Bash to Harvest Exception Counts | p. 60 |
Replace Batch Files with Windows Power Shell | p. 61 |
Use Mac OS X Automator to Delete Old Downloads | p. 62 |
Tame Command-Line Subversion | p. 62 |
Build a SQL Splitter in Ruby | p. 64 |
Justifying Automation | p. 65 |
Don't Shave Yaks | p. 67 |
Summary | p. 68 |
Canonicality | p. 69 |
DRY Version Control | p. 70 |
Use a Canonical Build Machine | p. 72 |
Indirection | p. 73 |
Use Virtualization | p. 80 |
DRY Impedance Mismatches | p. 80 |
DRY Documentation | p. 88 |
Summary | p. 93 |
Practice | |
Test-Driven Design | p. 97 |
Evolving Tests | p. 99 |
Code Coverage | p. 105 |
Static Analysis | p. 109 |
Byte Code Analysis | p. 110 |
Source Analysis | p. 112 |
Generate Metrics with Panopticode | p. 113 |
Analysis for Dynamic Languages | p. 116 |
Good Citizenship | p. 119 |
Breaking Encapsulation | p. 120 |
Constructors | p. 121 |
Static Methods | p. 121 |
Criminal Behavior | p. 126 |
Yagni | p. 129 |
Ancient Philosophers | p. 135 |
Aristotle's Essential and Accidental Properties | p. 136 |
Occam's Razor | p. 137 |
The Law of Demeter | p. 140 |
Software Lore | p. 141 |
Question Authority | p. 143 |
Angry Monkeys | p. 144 |
Fluent Interfaces | p. 145 |
Anti-Objects | p. 147 |
Meta-Programming | p. 149 |
Java and Reflection | p. 150 |
Testing Java with Groovy | p. 151 |
Writing Fluent Interfaces | p. 152 |
Whither Meta-Programming? | p. 154 |
Composed Method and Slap | p. 155 |
Composed Method in Action | p. 156 |
Slap | p. 160 |
Polyglot Programming | p. 165 |
How Did We Get Here? And Where Exactly Is Here? | p. 166 |
Where Are We Going? And How Do We Get There? | p. 169 |
Ola's Pyramid | p. 173 |
Find the Perfect Tools | p. 175 |
The Quest for the Perfect Editor | p. 176 |
The Candidates | p. 179 |
Choosing the Right Tool for the Job | p. 180 |
Un-Choosing the Wrong Tools | p. 186 |
Conclusion: Carrying on the Conversation | p. 189 |
Building Blocks | p. 191 |
Index | p. 199 |
Table of Contents provided by Ingram. All Rights Reserved. |
An electronic version of this book is available through VitalSource.
This book is viewable on PC, Mac, iPhone, iPad, iPod Touch, and most smartphones.
By purchasing, you will be able to view this book online, as well as download it, for the chosen number of days.
Digital License
You are licensing a digital product for a set duration. Durations are set forth in the product description, with "Lifetime" typically meaning five (5) years of online access and permanent download to a supported device. All licenses are non-transferable.
More details can be found here.
A downloadable version of this book is available through the eCampus Reader or compatible Adobe readers.
Applications are available on iOS, Android, PC, Mac, and Windows Mobile platforms.
Please view the compatibility matrix prior to purchase.