The Pragmatic Programmer
实效程序员
What Makes a Pragmaitc Programmer?
何为实效程序员?
Each developer is unique,with individual strengths and weakness,preferences and dislikes ,Over time,Each will craft his or her own personal environment .that environment will reflect the programmers individuality just as forcefully as his or her hobbies,clothing,or hair-cut.however ,if you’re a Pragmatic Programmer,you’ll share many of the following characteristics.
每一个程序员都是独一无二的,他们的强项和弱点,他们偏爱和嫌弃之所,时光流逝,
每个他或她都有着个自的”场”,它通过他或她的服装爱好发型强烈地表现出来,但如果你是位
实效程序员,你的许多特质或者已在其例。
.Early adopter/fast adapter.
能编善改
You have an instinct for technologies and techniques ,and you love trying things out .when given some-thing New,you can grasp it quickly and integrate it with the rest of your knowledge .your confidence is born of exprenience.
你对技术和理论有种本能,你热衷于探索技术的真谛,当有一种新技术出现,你能在迅速地掌握他,并能和你已有的知识融会贯通,你的信心来源于你过去的经验。
.Inquisitive.
好奇的
You tend to ask questions ,that is neat –how did you do that?did you have problems with that library ?what’s This BeOs I’ve heard about ?How are symbolic links implemented?You are a pack rat for little facts ,each Of which may affect some decision years from now.
Critical thinker.
批评家
You rarely take things as given without first getting the facts .when colleagues say “because that ‘s the way It’s done ,”or a vendor promises the solution to all your problems ,you smell a challenge.
你很少人云亦云,当你的同事说,就是这样的,或者供应商许诺一个问题的解决方案,你已嗅到挑战的气息。
Realistic
现实性
You try to understand the underling nature of each problems you face . This realism gives you
a good feel for how difficult things are ,and how long things will take, Understaning for yourself that a process should be difficult Or will take a while to complete gives you the stamina to keep at it.
你想方设法理解每个问题表面下隐藏的实质,不论多么困难的事物,你会不惜花费长的时间,
你也去解决它们的。
Jack of all trades.
万事通
You try hard to be familiar with a broad range of technologies and envoments,and you work to keep abreast of new developments .Although your current job may require to be a specialist,you will always be able to move on to new Areas and new challenges.
你总是努力尝试通晓很宽的技术和领域,你能同时多个不同环境下的开发任务,尽管你的这份工作需要你是本方面的专家,你还是有能力接受新的领域下的新挑战。
We’ve left the most basic characteristics until last .All pragmatic programmers share them ,They’re basic enouth to state as tips:
最后我们列举了pragmatic programmers的诸多基本的特征,他们可以特点可以如下描述:
Tip 1:
技巧1:
Care About your Craft
关注你的设计
We feel that there is no point in developing software until you care about doing it well.
我们会感觉到这是毫无疑义的,在你担心你是否能把软件做得够好之前。
Tip2
Think!About your work
思考,你的工作。
In order to be a Pragmatic Programmer ,we’re challenging you to think about what you’re doing while you are doing It ,This isn’t a one-time audit of current practices –it’s an ongoing critical appraisal of every decision you make .Every day and on every development .Never run on auto-pilot .Constantly be thinking ,critiquing your work in real time
The old IBM corporate motto,THINK!,is the Pragmatic programmer’s mantra.
为了成为一名实效程序员,我们要对我们正在做的工作做富有挑战性的思考,这不是作为一个
练习的临时审核,而是对你的没一个即将到来的决定最严肃的评估,每天每时都该如此,我们
从来没有在自动驾驶仪上,坚持不懈地撕开,实时地以你自己的工作做自我批评,‘THINK!
‘这是过去IBM公司的座右铭,也是今天实效程序员们的圣经。
If this sounds like hard work to you ,then you are exhibiting the realistic characteristic,This is going to take up some your valuable time----time that is probably already under tremendous pressure . The reward is a more active involvement with a job And you love ,a feeling of mastery over an increasing range of subjects and plesasure in a feeling of continuous improvement ,Over the long term,your time investment will be rapaid as you and your team become more efficient ,write code that’s easier to Maintain and spend less time in meetings.
这样做看起来对你有点难,然而你已存在这些现实的特质,你将开始一段有价值的时光之旅,
-----那样一段确信给你带来巨大欢愉的岁月,你的工作和爱越来越富有成效就是对你的回报,
同时你会在越来越多的领域有心得,并有持续地改善,在一段长时间内,你的团对会卓有成效,写得代码容易维护,开会短而有效。