Log In
Or create an account -> 
Imperial Library
  • Home
  • About
  • News
  • Upload
  • Forum
  • Help
  • Login/SignUp

Index
The Productive Programmer
Foreword Preface
Who This Book Is For Conventions Used in This Book Using Code Examples How to Contact Us Safari® Enabled Acknowledgments
1. Introduction
Why a Book on Programmer Productivity?
Address Completion in Browsers
Internet Explorer Firefox
What This Book Is About
Part I: Mechanics (The Productivity Principles) Part II: Practice (Philosophy)
Where to Go Now?
I. Mechanics
2. Acceleration
Launching Pad
Launchers Creating a Windows Launching Pad Mac OS X Launching in Linux
Accelerators
Operating System Accelerators
Windows address bar Mac OS X Finder
Clipboard(s) Remember History There and Back Command Prompts at Your Fingertips
Command Prompt Explorer Bar Here!
Development Accelerators Search Trumps Navigation in Tools, Too
Macros
Macro Recorder Key Macro Tools
Summary
3. Focus
Kill Distractions
Blocking Strategies Turn Off Needless Notifications Create Quiet Time
Search Trumps Navigation Find Hard Targets Use Rooted Views
Rooted Views in Windows Rooted Views in OS X
Use Sticky Attributes Use Project-Based Shortcuts Multiply Your Monitors Segregate Your Workspace with Virtual Desktops Summary
4. Automation
Don’t Reinvent Wheels Cache Stuff Locally Automate Your Interaction with Web Sites Interact with RSS Feeds Subvert Ant for Non-Build Tasks Subvert Rake for Common Tasks Subvert Selenium to Walk Web Pages Use Bash to Harvest Exception Counts Replace Batch Files with Windows Power Shell Use Mac OS X Automator to Delete Old Downloads Tame Command-Line Subversion Build a SQL Splitter in Ruby Justifying Automation Don’t Shave Yaks Summary
5. Canonicality
DRY Version Control Use a Canonical Build Machine Indirection
Taming Eclipse Plug-ins Syncing JEdit Macros TextMate Bundles Canonical Configuration
Use Virtualization DRY Impedance Mismatches
Data Mapping Migrations
Rake migrations dbDeploy
DRY Documentation
SVN2Wiki Class Diagrams Database Schemas
Summary
II. Practice
6. Test-Driven Design
Evolving Tests
TDDing Unit Tests Measurements Design Impact
Code Coverage
7. Static Analysis
Byte Code Analysis Source Analysis Generate Metrics with Panopticode Analysis for Dynamic Languages
8. Good Citizenship
Breaking Encapsulation Constructors Static Methods Criminal Behavior
9. YAGNI 10. Ancient Philosophers
Aristotle’s Essential and Accidental Properties Occam’s Razor The Law of Demeter Software Lore
11. Question Authority
Angry Monkeys Fluent Interfaces Anti-Objects
12. Meta-Programming
Java and Reflection Testing Java with Groovy Writing Fluent Interfaces Whither Meta-Programming?
13. Composed Method and SLAP
Composed Method in Action SLAP
14. Polyglot Programming
How Did We Get Here? And Where Exactly Is Here?
Java’s Birth and Upbringing The Dark Side of Java
That happens when? Zero-based arrays make sense to…
Where Are We Going? And How Do We Get There?
Polyglot Programming Today Today’s Platform, Tomorrow’s Languages Using Jaskell
Ola’s Pyramid
15. Find the Perfect Tools
The Quest for the Perfect Editor
Neal’s List of What Makes a Perfect Editor
A macro recorder Launchable from the command line Regular expression search and replace Additive cut and copy commands Multiple registers Cross-platform
The Candidates Choosing the Right Tool for the Job
Refactoring SqlSplitter for Testablility Keeping Behavior in Code
Un-Choosing the Wrong Tools
16. Conclusion: Carrying on the Conversation A. Building Blocks
Cygwin The Command Line
Getting Help When You Need It
Index Colophon
  • ← Prev
  • Back
  • Next →
  • ← Prev
  • Back
  • Next →

Chief Librarian: Las Zenow <zenow@riseup.net>
Fork the source code from gitlab
.

This is a mirror of the Tor onion service:
http://kx5thpx2olielkihfyo4jgjqfb7zx7wxr3sd4xzt26ochei4m6f7tayd.onion