卓有成效的程序员

出版时间:2010-1  出版社:东南大学出版社  作者:福特  页数:206  
Tag标签:无  

前言

Many years ago, I taught training classes for exPerienced developers who were learning new technologies (like Java). The disparity between the productivity of the students always struck me: some were orders of magnitude more effective. And I don't mean in the tool they were using: I mean in their general interaction with the computer. I used to make a joke to a few of my colleagues that some of the people in the class weren't running their computers, they were walking them. Following a logical conclusion, that made me question my own productivity. Am I getting the most efficient use out of the computer I'm running (or walking)? Fast-forward years later, and David Bock and I got into a conversation about this very thing. Many of our younger coworkers never really used command-line tools, and didn't understand how they could possibly offer more productivity than the elaborate IDEs of today. As David recounts in the foreword to this book, we chatted about this and decided to write a book about using the command line more effectively. We contacted a publisher, and started gathering all the command-line voodoo we could find from friends and coworkers. Then, several things happened. David started his own consulting company, and he and his wife had their first children: tripletsl Well, David now clearly has more on his hands than he can handle. At the same time, I was coming to the conclusion that a book purely about commandline tricks would be perhaps the most boring book ever written. At about that time, I was working on a project in Bangalore, and my pair-programmer partner, Mujir, was talking about code patterns and how to identify them. It hit me like a ton of bricks. I had been seeing patterns in all the recipes I'd been gathering. Instead of a massive collection of command-line tricks, the conversation should be about identifying what makes developers more productive. That's what you hold in your hands right now.

内容概要

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

作者简介

Neal Ford是全球IT咨询公司ThoughtWorks的应用软件构架师。他曾在美国和其他国家进行实地授课,对象包括军方和多家《财富》500强企业。

书籍目录

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

章节摘录

插图:Shortcuts that Windows users miss a lot on Mac OS X are the Alt key accelerators forapplications. Mac OS has them, but they're based on incremental search rather than explicitkey relationships. The Ctrl-F2 key moves focus up to the menu bar, and you can type the firstpart of the menu item you want. When it's highlighted, hit Enter and start incrementally typingthe enclosed menu item. It sounds complicated, but it works beautifully, and it works acrossall applications. You can also use CtrloF8 to move the focus to the far right of the menu bar,where all the services icons live.My biggest problem with this was the cumbersome gymnastics needed to invoke Ctrl-F2, so Iused the standard Mac OS X keyboard shortcut dialog to remap it to Ctrl-Alt-Apple-Spacebar(which sounds even worse, but they all line up, so it's an easy combination to hit). Plus, myQuicksilver invoker is mapped to Apple-Enter, so all my "meta" navigation is mapped to moreor less the same general area.If you are using the latest version of Mac OS X, choosing menu items is even easier. One ofLeopard's help features finds menu items for you when you type the name (or just part of thename). This is a great way to access menu items that live in deeply nested menus, ones whosenames you remember but whose locations evade you, and things that you think the applicationshould do but you don't know where the functionality lives. If you hit the Apple-? key, thehelp search option will appear. Type any part of the menu item name you want, and Leopardwill highlight it for you and invoke itif you hit Enter. As is the case with much keyboard magic,it is harder to explain than to do (Figure 2-6).

编辑推荐

《卓有成效的程序员(影印版)》是由东南大学出版社出版的。

图书封面

图书标签Tags

评论、评分、阅读与下载


    卓有成效的程序员 PDF格式下载


用户评论 (总计5条)

 
 

  •   教我们注重编程细节,提升代码质量。
  •   收货也很快,书的保护很好,拿到了爱不释手,哈哈。
  •   很赞... 此书仰慕已久.. 东南的虽然贵点.. 但是书捧起来还是很有感觉... 排队阅读ing
  •   这本书,我觉得还不错,说得过去,但强烈建议有相当编程经验的人去读,要是编程经验少,读了也白读,这本书就是这样
  •   小诀窍中体现了一种态度。
 

250万本中文图书简介、评论、评分,PDF格式免费下载。 第一图书网 手机版

京ICP备13047387号-7