出版時(shí)間:2010-1 出版社:東南大學(xué)出版社 作者:福特 頁(yè)數(shù):206
Tag標(biāo)簽:無(wú)
前言
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.
內(nèi)容概要
《卓有成效的程序員(影印版)》內(nèi)容簡(jiǎn)介:任何一個(gè)以開(kāi)發(fā)軟件為生的人都需要掌握一種經(jīng)過(guò)實(shí)踐檢驗(yàn)的方法,來(lái)使自己工作得更好、更快、更高效?!蹲坑谐尚У某绦騿T》在“如何節(jié)省時(shí)間”方面提供了寶貴意見(jiàn)和實(shí)用工具,無(wú)論你使用何種平臺(tái),都能立刻應(yīng)用于其中。大師級(jí)的開(kāi)發(fā)者Neal Ford不僅提供了關(guān)于提高生產(chǎn)力的建議:如何更明智地工作,排除干擾,充分利用計(jì)算機(jī),以及避免重復(fù);同時(shí)他還詳細(xì)介紹了許多有價(jià)值的實(shí)踐經(jīng)驗(yàn),幫助你規(guī)避常見(jiàn)陷阱,改善代碼,從而為團(tuán)隊(duì)創(chuàng)造更大的價(jià)值。 你將學(xué)習(xí)到如何: · 在寫(xiě)代碼前先寫(xiě)測(cè)試 · 一絲不茍地管理你的對(duì)象的生命周期 · 只做你現(xiàn)在必須要做的,而非你將來(lái)可能要做的 · 將古老的哲學(xué)應(yīng)用到軟件開(kāi)發(fā)當(dāng)中 · 敢于質(zhì)疑權(quán)威,而不是盲目遵從標(biāo)準(zhǔn) · 利用元編程,將困難轉(zhuǎn)為容易,化不可能為可能 · 確保同一方法中的所有代碼處于同一個(gè)抽象層面 · 選擇合適的編輯器,打造最佳工具組合 這些不是空泛的理論,而是Ford現(xiàn)實(shí)的經(jīng)驗(yàn)成果。不論你是初學(xué)者還是富有多年經(jīng)驗(yàn)的專(zhuān)家,《卓有成效的程序員》中簡(jiǎn)單而直接的原則對(duì)你的工作和職業(yè)生涯都將有所裨益。
作者簡(jiǎn)介
Neal Ford是全球IT咨詢(xún)公司ThoughtWorks的應(yīng)用軟件構(gòu)架師。他曾在美國(guó)和其他國(guó)家進(jìn)行實(shí)地授課,對(duì)象包括軍方和多家《財(cái)富》500強(qiáng)企業(yè)。
書(shū)籍目錄
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
章節(jié)摘錄
插圖: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).
編輯推薦
《卓有成效的程序員(影印版)》是由東南大學(xué)出版社出版的。
圖書(shū)封面
圖書(shū)標(biāo)簽Tags
無(wú)
評(píng)論、評(píng)分、閱讀與下載
250萬(wàn)本中文圖書(shū)簡(jiǎn)介、評(píng)論、評(píng)分,PDF格式免費(fèi)下載。 第一圖書(shū)網(wǎng) 手機(jī)版