卓有成效的程序员 电子书下载 PDF下载

卓有成效的程序员
内容简介
任何一个以开发软件为生的人都需要掌握一种经过实践检验的方法,来使自己工作得更好、更快、更高效。《卓有成效的程序员》在“如何节省时间”方面提供了宝贵意见和实用工具,无论你使用何种平台,都能立刻应用于其中。大师级的开发者Neal Ford不仅提供了关于提高生产力的建议:如何更明智地工作,排除干扰,充分利用计算机,以及避免重复;同时他还详细介绍了许多有价值的实践经验,帮助你规避常见陷阱,改善代码,从而为团队创造更大的价值。
  你将学习到如何:
  · 在写代码前先写测试
  · 一丝不苟地管理你的对象的生命周期
  · 只做你现在必须要做的,而非你将来可能要做的
  · 将古老的哲学应用到软件开发当中
  · 敢于质疑权威,而不是盲目遵从标准
  · 利用元编程,将困难转为容易,化不可能为可能
  · 确保同一方法中的所有代码处于同一个抽象层面
  · 选择合适的编辑器,打造最佳工具组合
  这些不是空泛的理论,而是Ford现实的经验成果。不论你是初学者还是富有多年经验的专家,《卓有成效的程序员》中简单而直接的原则对你的工作和职业生涯都将有所裨益。 ·查看全部>>
目录
FOREWORD
PREFACE
1 INTRODUCTION
Why a Book on Programmer Productivity?
What This Book Is About
Where to Go Now?
Part One MECHANICS

2 ACCELERATION
Launching Pad
Accelerators
Macros
Summary

3 FOCUS
Kill Distractions
Search Trumps Navigation
Find Hard Targets
Use Rooted Views
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
Use Virtualization
DRY Impedance Mismatches
DRY Documentation
Summary
Part Two PRACTICE

6 TEST-DRIVEN DESIGN
Evolving Tests
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?
Where Are We Going? And How Do We Get There?
Ola’s Pyramid

15 FIND THE PERFECT TOOLS
The Quest for the Perfect Editor
The Candidates
Choosing the Right Tool for the Job
Un-Choosing the Wrong Tools

16 CONCLUSION: CARRYING ON THE CONVERSATION
APPENDIX: BUILDING BLOCKS
INDEX
Copyright © 2024 by topbester.com.
All Rights Reserved.
沪ICP备14027842号-1