新書推薦:

《
高胜算操盘:成功交易员完全教程美马塞尔林可著十年十二国版本帮助数百万交易者建立交易优势股票书籍
》
售價:NT$
500

《
亲子战争:全景解读2-6岁孩子的行为与心理,32个精选案例化解幼儿常见教养问题
》
售價:NT$
305

《
胡僧东来:汉唐时期的佛经翻译家和传播人
》
售價:NT$
500

《
电磁频谱中的战斗:美国海军和海军陆战队电子战飞机、作战与装备
》
售價:NT$
500

《
书法常识
》
售價:NT$
184

《
胡雪岩经商十二条戒律(识人·驭势·守财·破局;不读胡雪岩,枉谈经商道!)
》
售價:NT$
254

《
普林斯顿历史学研究指南
》
售價:NT$
484

《
即用是体:阳明学深度解读
》
售價:NT$
1309
|
| 編輯推薦: |
|
一个真的软件专家究竟应该如何处事?如何处理冲突,安排紧张的日程,以及与不通情理的项目经理打交道?如何读懂编码的工作流,并了解前人的思路上的断点?如何面对无情的压力并避免倦怠?如何客观地对待新的开发范式?如何管理你的时间并且避免走入死胡同,陷入泥潭?如何培育可以让程序员个人以及团队茁壮成长的环境?什么时候要说“不”及如何去说?什么时候说“是”及“是”究竟意味着什么?
|
| 內容簡介: |
|
忍受各种不确定性及不间断的压力并能够获取成功的程序员有一个共通特征:他们都深度关注软件创建实践。他们都把软件看做一种工艺品。他们都是专家。在“鲍勃大叔”看来“专业”的程序员不仅应该具备专业的技能,更应该具备专业的态度,这也是本书阐述的核心。专业的态度包括如何用带着荣誉感、自尊、自豪来面对进行软件开发,如何做好并做得整洁,如何诚实地进行沟通和估算,如何透明并坦诚地面对困难做抉择,如何理解与专业知识相伴的责任
|
| 關於作者: |
作者:(美国)罗伯物?C.?马丁(Robert C. Martin)
罗伯特?C.?马丁(Robert C.
Martin),也就是鲍勃大叔,从1970年开始就是一个程序员了。他是全球会议上的著名发言人,他的书包括:《代码整洁之道?(Clean
Code,Prentice Hall,2009)、《敏捷软件开发:原则、模式和实践》(Agile Software
Development:Prinoples,Patterns,and Practices,Prentice
Hall,1999)和《UML Java程序员指南》(UML for Java Programmers,Prentice
Hall,2003)。他是一个多产的作家,已经发表和出版了数百篇文章、论文和博客。他曾经是The C++
Report杂志的主编,也是敏捷联盟(Agile Alliance)的第一任主席。马丁创建并领导着Object
Mentor公司,拥有许多经验丰富的软件开发者和经理,主要业务是帮助企业完成他们的项目。
|
| 目錄:
|
Foreword xv
Preface xxi
Acknowledgments xxv
About the Author xxxi
On the Cover xxxiii
Pre-Requisite Introduction
Chapter 1 Professionalism
Be Careful What You Ask For
Taking Responsibility
First, Do No Harm
Work Ethic
Bibliography
Chapter 2 Saying No
Adversarial Roles
High Stakes
Being a “Team Player”
The Cost of Saying Yes
Code Impossible
CONTENTS
CONTENTS
Chapter 3 Saying Yes
A Language of Commitment
Learning How to Say “Yes”
Conclusion
Chapter 4 Coding
Preparedness
The Flow Zone
Writer''s Block
Debugging
Pacing Yourself
Being Late
Help
Bibliography
Chapter 5 Test Driven Development
The Jury Is In
The Three Laws of TDD
What TDD Is Not
Bibliography
Chapter 6 Practicing
Some Background on Practicing
The Coding Dojo
Broadening Your Experience
Conclusion
Bibliography
Chapter 7 Acceptance Testing
Communicating Requirements
Acceptance Tests
Conclusion
Chapter 8 Testing Strategies
QA Should Find Nothing
CONTENTS
The Test Automation Pyramid
Conclusion
Bibliography
Chapter 9 Time Management
Meetings
Focus-Manna
Time Boxing and Tomatoes
Avoidance
Blind Alleys
Marshes, Bogs, Swamps, and Other Messes
Conclusion
Chapter 10 Estimation
What Is an Estimate?
PERT
Estimating Tasks
The Law of Large Numbers
Conclusion
Bibliography
Chapter 11 Pressure
Avoiding Pressure
Handling Pressure
Conclusion
Chapter 12 Collaboration
Programmers versus People
Cerebellums
Conclusion
Chapter 13 Teams and Projects
Does It Blend?
Conclusion
Bibliography
CONTENTS
Chapter 14 Mentoring, Apprenticeship, and Craftsmanship
Degrees of Failure
Mentoring
Apprenticeship
Craftsmanship
Conclusion
Appendix A Tooling
Tools
Source Code Control
IDEEditor
Issue Tracking
Continuous Build
Unit Testing Tools
Component Testing Tools
Integration Testing Tools
UMLMDA
Conclusion
Index
|
| 內容試閱:
|
A kata usually comes in the form of a simple programming
problem to solve, such as writing the function that calculates the
prime factors of an integer. The point of doing the kata is not to
figure out how to solve the problem; you know how to do that
already. The point of the kata is to train your fingers and your
brain.I''ll do a kata or two every day, often as part of settling in
to work. I might do it in Java, or in Ruby, or in Clojure, or in
some other language for which I want to maintain my skills. I''ll
use the kata to sharpen a particular skill, such as keeping my
fingers used to hitting shortcut keys, or using certain
refactorings.Think of the kata as a 10-minute warm-up exercise in
the moming and a 10-minute cool-down in the evening.
COLLABORATION
The second best way to learn is to collaborate
with other people. Professional software developers make a special
effort to program together, practice together, design and plan
together. By doing so they learn a lot from each other, and they
get more done faster with fewer errors.This doesn''t mean you have
to spend 100% of your time working with others.Alone time is also
very important. As much as I like to pair program with others, it
makes me crazy if I can''t get away by myself from time to
time.
MENTORING
The best way to learn is to teach. Nothing will
drive facts and values into your head faster and harder than having
to communicate them to people you are responsible for. So the
benefit of teaching is strongly in favor of the teacher.
|
|