程序员修炼之道_第1页
程序员修炼之道_第2页
程序员修炼之道_第3页
程序员修炼之道_第4页
程序员修炼之道_第5页
已阅读5页,还剩112页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

程式自币修斓之道

1我的源码让猫给吃了.............................................错误!未定义书签。

2软件的燧........................................................错误!未定义书签。

3石头汤与煮青蛙..................................................错误!未定义书签。

4足够好的软件....................................................错误!未定义书签。

5你的知识资产....................................................错误!未定义书签。

6交流!...........................................................错误!未定义书签。

7重复的危害......................................................错误!未定义书签。

8正交性...........................................................错误!未定义书签。

9可撤消性........................................................错误!未定义书签。

10曳光弹..........................................................错误!未定义书签。

11原型与便笺.....................................................错误!未定义书签。

12领域语言.......................................................错误!未定义书签。

13估算............................................................错误!未定义书签。

14纯文本的威力...................................................错误!未定义书签。

15shell游戏.......................................................错误!未定义书签。

16强力编辑.......................................................错误!未定义书签。

17源码控制.......................................................错误!未定义书签。

18调试............................................................错误!未定义书签。

19文本操纵.......................................................错误!未定义书签。

20代码生成器.....................................................错误!未定义书签。

21按合约设计(1)................................................................................................错误!未定义书签。

21按合约设计(2)................................................................................................错误!未定义书签。

22死程序不说谎...................................................错误!未定义书签。

23断言式编程.....................................................错误!未定义书签。

24何时使用异常...................................................错误!未定义书签。

25怎样配平资源...................................................错误!未定义书签。

i我的源合吃了

注重^效的程式肺的特徵是什麽?我手?受得是他年号虞理冏题、尊求解决方案畴的憩度、

凰格、哲擘。他行号能多句越出直接的冏题去思考,名恩是言殳法把冏题放在更大的^境中,,息是言殳

法注意更大的圈景。罩竟,没有道檬的更大的^境,你又怎能注重^效?你又怎能做出明智

的妥愤和有^^的;夬策?

他成功的另一层昌维是他什号封他ri所做的每件事情负责,11於道-黠,我凭招在“我的

源髓合吃了”中加以言寸^。因,注重^效的程式白市不曾坐视他『号的事案土崩瓦

解。在“戟:醴的蜡”中,我in符告^你怎檬使你的项目保持整瀑。

大多数人亵现自己很辘接受燮化,有日寺是出於好的理由,有畤只是因卷固有的惰性。在

“石^潟典煮青蛙”中,我优揩考察一槿促成燮化的策略,加(出於封平衡的典趣)言覆述一

彳固忽视;靳燮危口衾的丽楼勤物的警世^。

理解你的工作的官吾境的好虞之一是,瞭解你的软醴必须有多好燮得更容易了。有日寺接近

完美是惟一的逗撵,但常常曾涉及各槿^衡。我凭心等在“足多句好的软艘”中探究道一冏题。

常然,你需要挑有廉泛的知和^^基磁才能赢得道一切。擘曾是一他持^不断的遇

程。在“你的知^资崖"中,我『职哥^^一些策略,黜尔足焉力”。

最接,我『力令有人生活在真空中。我什号都要花大量日寺^典他人打交道。在“交流!”中

列出了能^我什号更好地做到造一黠的黑槿途彳空。

注重^效的程式言殳言十源于注重^效的思考的哲擘。本章符悬道槿哲^^立基破。

1我的源碣合吃了

在所有弱黠中,最大的弱黠就是害怕暴露弱黠。

-----J.B.Bossuet,PoliticsfromHolyWrit,1709

依獴你的殿棠赞展、你的项目和你每天的工作,你自己和你的行悬负责道檬一槿觐

念,是注重效的哲擘的一境基石。注重^效的程式自币封他或她自己的^^生涯负责,貌且

不害怕承熬维知或。道肯定她非是程式言殳言十最令人愉悦的方面,但它肯定曾樊生一一即

使是在最好的事案中。儒管有微底的^良好的文槽以及足多句的自勤化,事情遐是曾出金昔。

交付晚了,出现了未曾颈见到的技怵亍冏题。

彝生造檄的事情,我什号要言殳法翥可能殿棠地虑理它俯。道意味著和坦率。我凭可以

悬我tn的能力自豪,但堂寸於我俨的缺黠一一遢有我in的辗知和我m的金昔三紧一一我]n必须^

MW

责任是你主勤搪负的柬西。你承^硅保某件事情正硅完成,但你不一定能直接控制事情

的每一他方面。除了翥你所能以外,你必须分析^^是否超出了你的控制。射於不可能做到

的事情或是^^太大的事情,你有槿不去^之负责。你必须基於你自己的道德举期和判断来

做出决定。

如果你^^同意要^某他结果负责,你就)1切^负起责任。富你犯(就如同我IH所

有人都曾犯金昔^一檄)、或是判断失^日寺,地承熬它,她与殳法^出各槿逗撵。不要责倩

别人或别的柬西,或是拼凑藉口。不要把所有冏题都^咎于供鹰商、程式^言十^言、管理部

『另、或是你的同事。也^他(它)件?全飕或是某黑方在其中扮演了某槿角色,但你可以逗撵

提供解决方案,而非尊找藉口。

如果存在供鹰商不能按日寺供货的凰^,你鹰言亥颈先制定一份JB急^重。如果磁片垮

T一一带走了你的所有源碣一一而你没有做倩份,那是你的^。告^你的老^“我的源碣^

吃了”也辗法改燮道一黠。

提示3

ProvideOptions,Don'tMakeLameExcuses

提供各槿逗撵,不要找蹩脚的藉口

在你走向任何人、告^他佯?^何某事做不到、悬何耽揣、卷何出冏题之前,先停下来,

臆一醵你心狸的磬音。典你的示器上的橡皮鸭交^,或是典猫交^。你的辫解臆起来合理,

遢是愚蠢?在你老^来又是怎檄?

在你的^月普桂把舌^演一遍。其他人可能曾考兑什麽?他(H是否曾冏:“你就了道他

嚅……”,或是“你没有考^那他]喝?"你招怎檬回答?在你去告^他渭”襄消息之前,是否

遢有其他你可以再就一就的辨法?有畤,你其^知道他年号什麽,所以遢是不要幺合他凭添

麻烦吧。

要提供各槿逗撵,而不是找藉口。不要^事情做不到;要^明能匏J做什麽来挽回局面。

必须把代礁扔掉?名合他件第莓授重情的僵值(参见重横,184直)。你要花日寺^建立原型

(prototyping))以硅定最好的畿^前迤的方式(参兄原型舆便笔'53M)?你要引人更好

的洌阖:(参见易於测就的代碣'189M;以及辗情的^,237直)或自勤化(参见辗虑不

在的自勤化,230直),以防止冏题再度彝生?又或^你需要额外的资源。不要害怕提出要

求,也不要害怕承熬你需要落助。

在你大磬^出它凭之前,先^法把蹩脚的藉口清除出去。如果你必须^,就先封你的笳

。反正,如果小蒂德豳冬系(Tiddies,BBC在1969~1974年播出的喜朗胤目"MontyPython's

FlyingCircus"中的著名小母笳一一群注)要承受指责……

2戟:醴的蜡

儒管软醴赞展黑乎不受任何物理定律的玄勺束,燧(entropy)封我年号的影警谷|J很大。炳

是一《固来自物理孥的概念,指的是某他系统中的“辗序”的^量。遗憾的是,熟力擘定律保

瞪了宇宙中的燧阳向於最大化。富软醴中的辗序增晨日寺,程式如年肝禹之悬”戟:醴腐斓”

(softwarerot)。

有^多因素可以促生戟:飕腐斓。其中最重要的一他似乎是IR亵事案畴的心理(或文化)。

即使你的IB陵只有你一彳固人,你事案日寺的心理也可能是非常微妙的事情。儒管制定了最

好的行十耋,挑有最好的^^者,寡案在其生命期中仍可能遭遇里比威和衰败。而另外有一些项

目,儡管遇到巨大的困辘和接速而来的挫折,郤成功地擎败自然的辗序阳向,言殳法取得了相

常好的结果。

是什麽造成了造檄的差累?

在市国,有些建篥漂亮而整瀑,而另一些谷[I是破败不堪的")0粢船堡”。悬什麽?犯罪

和城市衰退领域的研究者赞现了一槿迷人的斶彝檄制,一槿能多句很快招整澈、完整和有人居

住的建篥燮^破败的屣粢物的檄制[WK82]。

破窗户。

一扇破窗户,只要有那麽一段口寺^不修理,就曾渐渐幺合建篥的居民带来一槿屡粢感一

一槿殿槿部1ati不信哥心道座建篥的感受。於是又一扇窗户破了。人]始用L扔垃圾。出现了用L

。殿重的幺吉横损壤Hfl始了。在相封较短的一段畤,建篥就被损毁得超出了渠主顾

意修理的程度,而屡粢感燮成了^^。

“破窗户理睛?”改赞了《丑玄勺和其他大城市的员警部力,他年悭寸一些微的案件殿加虑

理,以防止大案的樊生。道起了作用:管束破窗户、窗L罡高L重和其他馨微遑法事件减少了殿

重罪案的樊生。

提示4

Don'tLivewithBrokenWindows

不要容忍破窗户

不要留著“破窗户”(低劣的^^十、金昔^决策、或是糟糕的代礁)不修。樊现一《固就修

-(®。如果没有足多句的日寺^迤行遹富的修理,就用木板把它金了起来。或rn尔可以把出冏题的

代礁放入注释(commentout))或是^示“未消息,或是用虚^的资料(dummydata)

加以替代。探取某槿行重邠方止迤一步的损t襄,明情势霓在你的控制之下。

我看到谩整瀑、建行良好的系统,一旦窗户^始破裂,就相常迅速地悲化。遐有其他

一些因素能狗J促生戟僵I腐斓,我优战等在别虑探音寸它fH,但舆其他任何因素相比,置之不理都

曾更快地加速腐斓的迤程。

你也停午在想,没有人有畤^到虞清理事案的所有碎玻璃。如果你畿^道麽想,你就最好

言十重找一他大型垃圾罐,或是搬到别虑去。不要^燧赢得月券利。

滋火

作卷封照,^我年非商述Andy的一《固熟人的故事。他是一彳固富得^人言由歌的富翁,操有

一所完美、漂亮的房子,木里面满是罪僵的古董、蓼彳商品,以及^如此^的束西。有一天,一

幅挂卜毯挂卜得雕他的趴室壁煽太近了一黠,著了火。消防人具冲暹来救火一一和他的房子。但

他fl拖著粗大、航髀的消防水管:中到房另口郤停住了一一火在咆哮一一他渭号要在前F4和著

火虑之^^上垫子。

他凭不想弄麟地毯。

道的硅是一彳固趣端的事例,但我必须以道檬的方式封待戟:飕。一扇破窗户-----段^

言十低劣的代礁、IB除必须在整他事案程中加以忍受的一项糟糕的管理决策一一就足以

使事案Hfl始衰败。如果你樊现自己在有好些破窗户的事案H工作,曾很容易崖生道檬的想

法:”造些代礁的其绘部分也是垃圾,我只要照著做就行了。”事案在道之前是否一直很好,

她没有什麽国期系。在最初得出“破窗户理IT的一项^^中,一辆屡粢的^隼放了一他星

期,辗人理睬。而一旦有一扇窗户被打破,嚷攵小日寺之内隼上的^^就被擅等一空,聿也被翻

了彳固底朝天。

按照同檬的道理,如果你彝现你所在图陵和事案的代礁十分漂亮一一编瘾整瀑、^行十良

好,加且很僵雅一一你就很可能曾格外注意不去把它弄廨,就和那些消防员一檬。即使有火

在咆哮(最彼期限、樊彳布日期、曾展演示,等等),你也不曾想成卷第一■(固弄廨束西的人。

相II内容:

1石^潟舆煮青蛙,7M

1重情'184M

1注重^效的图陵,224M

挑戟

1通谩^查你周遏的^算“琪境",落助增强你的困陵的能力。逗择雨或三扇“破窗

户”,加舆你的同事言寸^冏题何在,以及怎檬修理它优。

1你能否言兑出某扇窗户是何日寺破的?你的反I!是什麽?如果它是他人的决策所致,或

者是管理部咒的指示,你能做些什麽?

3石^^舆煮青蛙

三他士兵优戟埸返回家卿,在路上饿了。他渭?看兄前面有村SE,就来了精神一一他{H相

信村民曾幺合他行号一电真版吃。但富他凭到逵那桂,郤赞琨『另^著,窗户也信身著。余荽屣了多年戟

置L,村民优雕量食匮乏,她把他行?有的一黠;带量食藏了起来。

士兵加未氧簇,他行号煮^一^水,小心地把三境石放迤去。吃鹫的村民凭走出来望

著他凭。

“道是石^^。"士兵『与解释自兑。“就放石^喝?"村民IH冏。“一一一但有人

^加一些胡疆葡味道更好……”一彳固村民跑^了,又很快带著他^藏的一篮胡疆蕾跑回来。

黑分^之彼,村民ri又冏:“就是造些了嚅?”

“哦,"士兵v第兑:“黑他土豆更^在。”又一《固村民跑^了。

接下来的一小畤,士兵『号列聚了更多^^更鲜美的配料:牛肉、韭菜、蜜,遐有香菜。

每次都曾有一彳固不同的村民跑回去搜尊自己的私人仁者藏品。

最彳爰他(H煮出了一大^熟氟腾腾的渴。士兵年号拿掉石^,和所有村民一起享用了一顿美

餐,道是黑(0月以来他年号所有人第一次吃能版。

在石^^的故事桂有雨眉寓意。士兵激弄了村民,他IH利用村民的好奇,拢他那里弄

到了食物。但更重要的是,士兵充富催化豫1,把村民困结起来,和他什?一起做到了他凭自己

本来做不到的事情-----项愤作的成果。最彳爰每他人都是羸家。

你常常也可以效仿造些士兵。

在有些情况下,你也^^切地知道需要做什麽,以及怎檬去做。整他系统就在你的眼

前一一你知道它是封的。但^求行午可去虞理整彳固事情,你曾遇到拖延和漠然。大家要^立委

,颈算需要批准,事情曾建得^^化。每(0人都畲^^他自己的资源。有日寺候,道叫

做“店攵®J雄役"(start-upfatigue)。

道正是拿出石^的畤候。十出你可以合理要求的柬西,好好^^它。一旦完成,就拿

《合大家看,^他年子大吃一鹫。然彳爰:“要是我凭增加……可能就曾更好。”假装那她不重

要。坐回椅子上,等著他fHUfl始要你增加你本来就想要的功能。人凭赞现,参典正在彝生的

成功要更容易。^他瞥兄未来,你就能^他聚集在你周凰[1]。

提示5

BeaCatalystforChange

做燮化的催化

村民的角度

另一方面,石^^的故事也是^於温和而渐迤的欺蝙的故事。它^述的是浸於集中的注

意力。村民想著石豆直,忘了世界的其绘部分。我谓号都是道檄,每一天。事情曾悄悄爬到我渭?

身上。

我凭都看见遇造檄的症状。寡案慢慢地、不可改燮地完全失去控制。大多数戟:醴炎辘都

是优微不足道的小事情^始的,大多数事案的拖延都是一天一天彝生的。系统一彳固特性一(0

特性地偏雕其烧靶,一他又一■(固的祷丁被打到某段代礁上,直到最初的代礁一黠没有留下。

常常是小事情的累稹破t襄了士氟和困陵。

提示6

RemembertheBigPicture

言己住大Hl景

我『力攵有做浸道彳固一一真的,但有人言兑,如果你抓一集青蛙放迤沸水狸,它曾一下子跳

出来。但是,如果你把青蛙放谨冷水桂,然彳爰慢慢加熟,青蛙不曾注意到温度的^慢燮化,

曾呆在^^,直到被煮熟。

注意,青蛙的冏魅典第2fiprrt病的破窗户冏题不同。在破窗户理^中,人『号失去典炳戟

的意顾,是因悬他察到;攵有人曾在意。而青蛙只是没有注意到燮化。

不要像青蛙一檄。留心大圈景。要持^不断地践察周凰彝生的事情,而不只是你自己在

做的事情。

相信昌内容:

1软醴的嫡,4M

1靠巧合程式^言十,172^

1重横;184M

1需求之坑'202M

1注重^效的凰陵,224M

挑戟

1在^^本善的草稿日寺'JohnLakos提出造檄一彳固冏堰:士兵海f谨地欺骗村民,但他

优胪斤催生的燮化封村民完全有利。但是,渐迤地欺骗青蛙,你是在加害於它。富你^法催生

燮化畴,你能否硅定你是在做石^^遢是青蛙浸?决策是主觐的遢是客觐的?

4足别好的款:醴

欲求更好,常把好事燮糟。

---李崩王L4

有一他(有黜;)老的笑言舌,一家美阈公司向一家日本裂造商言丁瞒100000片稹醴雷路。

规格^明中有次品率:10000片中只能有1片。黑周遇彼言了货到了:一《固大盒子,狸面装有

数千片IC,遐有一•(固小盒子,桂面只装有10片IC。在小盒子上有一彳固檄,上面嘉著:“造

些是次品”。

要是我什号真的能造檄控制品^就好了。但^世界不^^我年号裂作出十分完美的崖品,

特别是不曾有^^的牵欠醴。日寺^、技彷亍和急躁都在合反封我。

但是,造不一定就^人氟食妥。如EdYourdon彝表在IEEESoftware上的一篇文章[You95J

所描述的,你可以311^你自己,编瘾出足黄J好的敷:飕一一封你的使用者、封未来的玄隹^者、

垩寸你自己内心的安事来^足匏J好。你曾赞现,你燮得更多崖,而你的用户也曾更加高典。你

也^遢曾赞琨,因篇“孵化期”更短,你的程式^除上更好了。

在畿^前迤之前,我年号需要封我4H符要^的言舌谨行限定。短言吾“足多句好”她非意味著不

整瀑或裂作糟糕的代礁。所有系统都必须满足其使用者的需求,才能取得成功。我优只是在

宣揭,合用户以檄曾,^他什号参舆〉夬定你所装作的柬西何日寺已足苑J好。

^你的用户参舆榷衡

通常你是悬别人编嘉戟:飕。你常常需要言已得拢他年号那桂攫取需求[2]。但你是否常冏他

俨,他行?想要他年号的软It有多好?有日寺候逗撵她不存在。如果你的工作物件是心朦起搏器、

太空梭、或是符被泛停播的底眉康,需求就曾更苛刻,你的逗撵就更有限。但是,如果你

的工作物件是全新的崖品,你就曾有不同的女勺束。市埸人具有需要信守的承^,最冬冬用户也

行午已基於交付^^表制定了各,而你的公司肯定有现金流方面的幺勺束。熊视道些使用

者的需求,一味地名合程式增加新特性,或是一次又一次^^代礁,道不是有^^素饕的做法。

我年号不是在提倡慌张:声午^不可能兑现的畤^襟度(timescale)-上最彼期限而削减基

本的工程内容,适些同檬不是有殿棠素餐的做法。

你所裂作的系统的靶摩1和品^鹰吉亥作悬系统需求的一部分规定下来。

提示7

MakeQualityaRequirementsIssue

使品^成卷需求冏题

你常常曾虑在须要谨行槿衡的情形中。^人鹫奇的是,^多用户^^在今天用上有一些

“毛遏”的敢:醴,也不顾等待一年彳爰的多媒醴版本。言午多TM算吃繁的IT部力都曾同意造檬

的^法。今天的了不起的戟:醴常常比明天的完美戟:飕更可取。如果你幺合用户某檄柬西,^他

伪及早使用,他凭的回^常常曾把你引向更好的最冬冬解决方案(参兄曳光弹,48直)。

知道何日寺止步

在某些方面,程式言殳言十就像是^^。你彳怎空白的重布和某些基本原材料^始,通谩知、

蓼征亍和技藜的结合去硅定用前者做些什麽。你勾耋出全景,簿裂背景,然彳度填入各槿条田。

你不畤彳爰退一步,用批判的眼光践察你的作品。常常,你曾扔掉重布,重新再来。

但蓼律亍家渭Tt告^你,如果你不懂得鹰何畤止步,所有的辛苦劳作就曾遭到毁壤。如果

你一眉又一;1、^^^幺田^地叠加,簿重就曾迷失在^^之中。

不要因卷遇度修前i和^於求精而毁揖完好的程式。畿^前迤,你的代礁懑著自己的品

^站立一曾完。它也言午不完美,但不用搪心:它不可能完美(在第6章,171直,我IH揩m寸

^在不完美的世界上IR樊代礁的哲擘)。

相昌昌内容:

1曳光弹,48H

1需求之坑,202M

1注重^效的困陵,224M

1趣大的期待,255<

挑戟

1考察你使用的软醴工具和作案系统的裂造商。你能否赞现瞪撼,表明道些公司安於

赞彳布他fH知道不完美的事欠醴嚅?作卷用户,你是曾(D等著他清除所有bug,(2)挑有

的软醴,她接受某些bug,遐是畲(3)逗撵缺陷事交少的更曾军的戟:醴?

1考鹿:模幺且化封戟:飕交付的影警。舆以模*且化方式^音十的系统相比,整飕式

(monolithic建欠醴要连到所需品,花费的畤IW更多遐是更少?你能找到一彳固商渠案例嚅?

5你的知

知^上的投资^能得到最好的回甄。

—本彳桀明•佛克林

噢,好檬的老佛赢克林一一徙不曾想不出精^的^教。悬什麽,如果我什号能别早睡早起,

我年号就是了不起的程式自而一一些寸嚅?早起的舄完有盘吃,但早起的盘子呢?

然而在造槿情况下,Ben硅^命中了要害。你的知^和^^是你最重要的殿渠财富。

遗憾的是,它是有日寺效的资崖(expiringasset)«随著新技彼i、^言及璟境的出现,你

的知^曾燮得谩畤。不断燮化的市埸^勤力也言午曾使你的^^燮得竦营或^^^要。考感:到

飞用年”来逝的速度,道檬的事情可能曾非常快地彝生。

随著你的知^的僵值降低,封你的公司或客户来,你的^值也在降低。我想要阻止

造檄的事情,:夬不言襄它彝生。

你的知

我凭喜歉把程式白市所知道的居昌於言十算技街和他件号所工作的鹰用领域的全部事、以及他

福号的所有^^视悬他年号的知(KnowledgePortfolios)。管理知^崖舆管理金融资筐

非常相似:

1.殿靠的投资者定期投资一一作卷曾惯。

2.多元化是晨期成功的^^。

3.聪明的投资者在保守的投资和高闽、高回辍的投资之^平衡他优的资筐。

4.投资者^法低黄高^,以才矍取最大回甄。

5.鹰遇期性地重新押估和平衡资崖。

要在殿渠生涯中掩得成功,你必彳®1用同檄的指醇方金十管理你的知。

^管你的资崖

1定期投资。就像金融投资一檄,你必须定期^你的知^资崖投资。即使投资量很小,

曾惯自身也和^量一檬重要。在下一^中招列出一些示靶目襟。

1多元化。你知道的不同的事情越多,你就越有^值。作悬底名泉,你需要知道你目前

所用的特定技彼亍的各槿特性。但不要就此止步。言十算技怵亍的面貌燮化很快一一今天的都『鸟技

彷亍明天就可能燮得近乎舞用(或至少是不再揖手)。你掌握的技裱亍越多,你就越能更好地迤

行^整,程上建化。

1管理^。彳隹高^^、可能有高回辍,到低凰、低回辍,技彳桁存在於道檬一脩^

带上。把你所有的金^都投入可能突然崩然的高^^股票她不是一他1好主意;你也不J1太保

守,金普浸可能的械曾。不要把你所有的技怵谖S蛋放在一他篮子狸。

1低^高。在新典的技征,流行之前擘窖它可能就和找到被低估的股票一檄困^'但

所得到的就和那檄的股票带来的收益一檬。在Java刚出现畤擘窖它可能有凰^,但封於现

在已步入^领域的项尖行列的早期探用者,道棣做得到了非常大的回辍。

1重新押估和平衡。道是一《固非常勤谩的行案。你上彳固月IR始研究的熟『另技很i现在也

晋午已像石^一檬冰冷。也I■午你需要重温你有一弹子没有使用的资料康技伸亍。又或^,如果你

之前^用^另一槿言吾言,你就曾更有可能5«得那彳固新殿位……

在所有道些指溥方金十中,最重要的也是最曾军的:

提示8

InvestRegularlyinYourKnowledgePortfolio

定期^你的知^资崖投资

目檄

踹I於何畤以及增加什麽到你的知^^崖中,现在你已^^有了一些指溥方金十,那麽什麽

是攫得智力资本、彳他而^你的瓷筐提供资金的最佳方式呢?道桂有一些建。

1每年至少孥雪一槿新言吾言。不同^言以不同方式解;夬相同的冏魅。通遍擘雪若干不

同的方法,可以常助你拓寞你的思雉,她避免墨守成规。此外,现在阜^^多言吾言已容易了

行午多,感割可^^上自由攫取的戟:飕财富(参见267直)。

1每季度一本技征亍害籍。害店桂]罪满了^多善籍,言寸^舆你常前的事案有居身的有

趣^^。一旦你叠成曾惯,就一(0月^一本善。在你掌握了你正在使用的技怵亍之接

圉,一些舆你的项目瓢显身的善籍。

1也要^18非技徘亍害籍。言己住^^是由人一一你在言殳法满足其需要的人一一使用的,

道十分重要。不要忘了等式,中人道一遏。

1上^。在本地的擘院或大擘、或是符要来陶的下一次曾展上尊找有趣的^程。

1参加本地使用者4且名戢。不要只是去臆,而要主重力参舆。舆世隔^^你的殿棠生涯

5H兑可能是致命的:打臆一下你公司以外的人都在做什麽。

1就瞬不同的璟境。如果你只在Windows上工作,就在家玩一玩Unix(可自由掩取

的Linux就正好)。如果你只用谩makefile和编串茸器,就就一IDE,反之亦然。

1跟上潮流。言了^商矜^^和其他期刊(参兄262直的推蒿刊物)。逗撵所涵盖的技

征亍典你常前的事案不同的刊物。

1上东罔。想要瞭解某槿新言吾言或其他技循语勺各槿特性?要瞭解其他人的相居盛密瞬,瞭

解他FJ使用的特定行卷舌,等等,新^群乡且是一槿很好的方式。上《罔街浪,查找^文、商^^

站,以及其他任何你可以找到的^^来源。

持^投入十分重要。一旦你熟悉了某槿新言吾言或新技循亍,畿^前迤。擘曾另一槿。

是否在某彳固项目中使用道些技彷亍,或者是否把它年号放入你的^屣,道36不重要。擘雪的

谩程^^展你的思雉,使你向著新的可能性和新的做事方式拓展。思想的“累花授粉”

(cross-pollination)十分重要;法把你擘到的柬西鹰用到你常前的事案中。即使你的项目

没有使用^技裱亍,你或晋午也能借饕一些想法。例如,熟悉了物件簿向,你就曾用不同的方式

编瘾触C程式。

擘曾的械曾

於是你狼吞虎嗷地^^,在你的领域,你站在了所有突破性迤展的前沿(道不是容易的

事情)。有人向你^教一彳固冏题,答案是什麽?你速最起碣的想法都没有。你坦白地承熬了

道一黠。

不要就此止步,把找到答案^你他人的挑戟。去^教古鲁(如果在你凭的辨公室桂

没有,你鹰言亥能在Internet上找到:参见下一直上的方框)。上^搜索。去圈耆。

如果你自己找不到答案,就去找出能找到答案的人。不要把冏堰揣在那桂。典他人交^

可以脱明你建立人除幺罔路,而因^在道彳固谩程中找到了其他不相的解决方案,你也^

自己大吃一鹫。营有的资羟也在不断增晨……

所有和研究都需要日寺^,而日寺^已^很短缺。所以你需要先烧副。官襄自己在空

的片刻日寺^^^有柬西可花在等翳生上的畤是抓^^18的好檄曾一一但一定要带上你

自己的^^,否即,你也现自己在翻^1973年的一篇卷角的居目於巴布克冬丑黑内克的

文章。

批判的思考

最彳爰一彳固要黠是,批判地思考你到的和II到的。你需要硅保你的瓷筐中的知是津硅

的,且;欠有受到供鹰商或媒醴炒作的影警。警惕磬耦他行号的信脩提供了惟一答案的狂热

者一一那或言午遹用、或^不遹用於你和你的项目。

不要低估商案主羲的力量。Web搜尊引擎把某彳固直面列在最前面,她不意味著那就是

最佳逗撵;内容供商可以付金蜿襄自己排在前面。害店在著位置展示某一本善,也加不意

味著那就是一本好害,甚至也不^明那是一本受猷迎的善;它年号可能是付了金菱才放在那狸的。

提示9

CriticallyAnalyzeWhatYouReadandHear

批判地分析你IS到的和臆到的

遗憾的是,黑乎再没有曾军的答案了。但挑有大量知把批判的分析鹰用於你

符要的技衔出版物的洪流,你符能多句理解的答案。

典古鲁打交道的^^舆教覆

随著Internet在全球普及,古鲁、年号突然燮得像你的Enter维一檬贴近。那麽,你怎檬才

能找到一(0古鲁,怎檬才能找一彳固古鲁和你交^呢?

我找到了一些曾军的^霰。

1硅切地知道你想要冏什麽,儒量明硅具醴。

1小心而得飕地幺且微你的冏题。言己住你是在^求落助;不要^得好像是在要求拿寸方回

答。

1幺糜俄好冏魅之彳爰,停下来,再找找答案。逗出一些^^字,搜索Web。查找遹常的

FAQ(常见冏题的解答列表)。

1决定你是想公^提冏遐是私下提冏。Usenet新^群名且是舆事家曾面的美妙埸所,在

那桂可以言寸言命黑乎任何冏题,但有些人封造些新^群条且的公共性^有8^11。你自恩是可以用另

外的方法:直接樊雷子垂砰%合古鲁。不管怎檬,要使用有意羲的主题(“需要常助!!!”

熊益於事)。

1坐回椅子上,耐心等候。人年号很忙,也^需要黑天才能得到明硅的答案。

最彳爰,^一定要感^任何回J1你的人。如果你看到有人提出你能多句解答的冏题,翥你的

一份力,参典解答。

挑戟

1道周就Hfl始擘曾一槿新^言。^在用C++程式^言十?SmalltalklURL13]或

SqueakfURL14]。在用Java?Eiffel[URL10域TOM[URL15]。居同於其他自由褊葬器和

琪境的来源,267M0

1IR始一本新善(但要先^完道一本!)。如果你在迤行非常官羊余田的^^和编礁,

就捐於言殳言十和架情的善。如果你在迤行高级言殳言十,就^^/甘於编礁技俄f的耆。

1出去和典你的富前项目辗居目的人、或是其他公司的人技街。在你『与公司的自助

餐盛其他人,或是在本地使用者余且^聚曾畴尊找典趣相投的人。

6交流!

我相信,被打量比被忽略要好。

-----MaeWest,BelleoftheNineties,1934

也^我可以优West女士那桂擘到一黠;什麽。冏题不只是你有什麽,遐要看你怎檬包

装它。除非你能黄J舆他人交流,否即就算你挑有最好的主意、最漂亮的代碣、或是最注重^

效的想法,最冬冬也畲毫辗名吉果。:攵有有效的交流,一彳固好想法就只是一他罪入II心的孤兄。

作^^^者,我IH必须在言午多眉面上迤行交流。我把言午多小畤花在曾、阳臆和交^

上。我年号典最幺冬用户一起工作,^法瞭解他优的需要。我f脍扁嘉代礁,典械器交流我凭的意

ffl;把我谓号的想法燮成文槽,留会合以彳爰的Hfl亵者。我俨J撰嘉提案和借忘^,用以申言青资源加

瞪明其正常性、辍告我什号的状憩、以及提出各槿新方法。我每天在图陵中工作,宣揭我什号

的主意、修正现有的做法、加提出新的做法。我]n的畤^有很大一部分都花在交流上,所以

我需要把它做好。

我{R了我得有用的一些想法。

知道你想要^什麽

在工作中使用的更^正式的交流方式中,最困辘的部分也^是硅切地弄清楚你想要^什

麽。小^家在^始嘉作之前,曾辞名田地情思情^,而撰嘉技彷亍文槽的人谷|]常常攀於坐到维然

前,维人“1.介貂……”,始敲入接下来在他凭的^1!倒桂冒出来的任何柬西。

就[割你想要的柬西。嘉出大铜。然彳妻冏你自己:“道是否^清了我要^的所有内容?”

提斓它,直到硅^如此^止。

道(0方法不只遹用于撰嘉文槽。富你面陶重要^^、或是要典重要客户通甯得舌畤,曾略

言己下你想要交流的想法,加举借好黑槿把它『第裔青楚的策略。

瞭解你的夥冢

只有常你是在僖逵^^日寺,你才是在交流。卷此,你需要瞭解你的H聚的需要、典趣、

能力。我优都曾出席浸道檬的曾:一他做^^的滑稽人物在赞表是篇彳蜀白,^述某槿神秘

技怵亍的各槿僵黠,把市埸部副令黑裁弄得目光呆滞。道不是交流,而只是空^,^人^^的

(annoying)空^。

要在月窗海狸形成一幅明硅的^於你的醵冢的重面。下一直的181.1中^示的WISDOM

雕合爵(acrostic)可能曾封你有"助。

假^你想提^一他基於Web的系统,用於IS你优号的最幺冬用户提交bug辍告。取决

於夥聚的不同,你可以用不同的方式介貂适值I系统。如果可以不用在甯^上等候,每天24

小日寺提交bug甄告,最^用户符曾很高典。你年号的市埸部『3可以利用道一事^促善肖。支持部

FE的^理畲因固原因而高典:所需员工更少,冏题辍告得以自勤化。最彳爰,^夸菱者曾因

悬能攫得基於Web的客户一伺服器技怵亍和新资料JW引擎方面的^^而感到享受。通谩金十封

不同的人迤行遹富的修正,你^^他都悬你的项目感到频鸾。

逗撵日寺掇

造是星期五的下午六黠,事言十人员迤融已有一周。你的老最小的孩子在瞽院桂,外面

下著滂沱大雨,回家肯定是一埸噩萝。道大概不是向她提出PC言己惊飕升级的好畤

候。

^了瞭解你的臆聚需要携到什麽,你需要弄清楚他的“整重^急”是什麽。找到一他

胡帼。因卷丢失源礁而遭到老批押的^理,向她介貂你信包於源礁的横想,你招曾挑有一

偃1更容易接纳的阳臆者。要^你所^的遹得其畤,在内容上切^相^。有日寺候,只要曾军地

冏一句“现在我凭可以……喝?”就可以了。

01.1WISDOM蹄合爵一一瞭解n聚

Whatdoyouwantthemtolearn?

Whatistheirinterestinwhatyou'vegottosay?

Howsophisticatedarethey?

Howmuchdetaildotheywant?

Whomdoyouwanttoowntheinformation?

Howcanyoumotivatethemtolistentoyou?

你想^他IH阜到什麽?

他年悭寸你^的什麽感典趣?

他年号有多富有^^?

他凭想要多少?

你想要^有道些资言乱?

你如何促使他m臆你多兑青舌?

溟撵凰格

^整你的交流凰格,^其遹;1你的n冢。有人要的是正式的“事曾辍。另一些人喜

歉在迤人正题之前高^昌靠命一番。如果是善面文槽,刖有人喜歉一大摞辍告,而另一些人郤

喜歉曾军的倩忘^或霜子垂B件。如果有疑冏,就前冏封方。

但是,要^住,你也是交流事矜的一方。如果有人^,他凭需要你用一段含舌迤行描述,

而你^得不用若干直抵就罪法做到,如^告^他。言已住,道檬的回^也是交流的一槿形式。

文槽美

你的主意很重要。它^^以美觐的方式停遮女合你的夥暴。

太多程式白币(和他行号的^理)在裂作害面文槽畤只踹I心内容。我谓第芨舄道是一。

任何一值I厨肺都曾告^你,你可以在厨房狸忙碌黑彳固小畤,最接郤曾因菜糟糕的外觐而

毁掉你的努力。

在今天,已《粤攵有任何藉口裂作出外践糟糕的列印文槽。现代的文害虞理器(以及像

LaTeX和troff适檬的排版系统)能筑J生成非常好的输出。你只需要擘留一些基本的命令。

如果你的文害虞理器支援檄式表,就加以利用(你的公司也言午已^定羲了你可以使用的檄式

表)。擘曾如何^置直眉和直腕I。查看你的套装软艘中包含的棣本文樟,以封檬式和版式有

所瞭解。检查拼嘉,先自勤,再手工。罩竟,有一些拼瘾是检查器找不出来的(Afterawl,

theirarespellingmissstreaksthatthechequercanknotketch)。

我凭常常赞现,舆裂作文槽的谩程相比,我裂作出的文槽最接加波有那麽重要。如果

可能,^你的^者参典文槽的早期草稿的裂作。51取他优的回汲取他IH的智慧。你招

建立良好的工作^保,她很可能在此谩程中裂作出更好的文槽。

做阳臆者

如果你想要大家11你青兑言舌,你必须使用一槿方法:醵他凭者兑音舌。即使你掌握著全部^,

即使那是一他正式^,你站在20(0衣著正式的人面前一一如果你不臆他什第兑言舌,他也

不曾II你考兑行舌。

鼓励大家通浸提冏来交^,或是^他福晓黑吉你告言斥他凭的柬西。把曾^燮成封三舌,你招

能更有效地阐明你的觐黠;。施知道呢,你也^遇能^到黠什麽。

回厘他人

如果你向别人提冏,他行号不做出回鹰,你曾^得他不橙貌。但富别人^你赞送甯子垂E

件或借忘^、^你提供^^、或是探取某槿行重力畤,你是否^常忘言己回彳复?在匆忙的日常生

活中,很容易忘言己事情。你燃恩是堂寸甯子撕牛和言吾音叫牛做出回,即使内容只是“我稍

彳爰回彳复你。”随畤通知别人,^^他优更容易原^你偶然的疏忽,加他得你没有忘言己

他伤。

提示io

It'sBothWhatYouSayandtheWayYouSayIt

你^什麽和你怎麽^同檄重要

除非你生活在真空中,你才不需要能交流。交流越有效,你就越有影警力。

霜子垂E件交流

我凭所^的^於善面交流的所有柬西都同檬遹用於甯子酬件。现在的重子垂B件已^^展

成^公司内部和公司之^迤行交流的主要手段。它被用於言寸^合的、I®解聿端,以及用作法

庭瞪撼。但因悬某不重原因,言午多拢不曾彝出低劣的害面文槽的人郤槃於往全世界鼠扔外觐糟

糕的甯子酬件。

我正寓目於甯子垂B件的提示很曾军:

I在你按下SEND之前迤行校封。

1检查拼嘉。

1格式保持曾罩。有人使用均衡字It(proportionalfont)重子垂B件,所以你辛

苦裂作的ASCII藜怵亍1H形在他凭看来符像是母的脚印一檄置L七八糟。

1只在你知道封方能多刨固^rich-text或HTML格式的酬件的情况下使用道些格式。触

文字是通用的。

13殳法^引文减至最少。没有人喜歉收到一封回彝,其中有100行是他原来的重子垂B

件,只在最彼新添了三彳固字:“我同意”。

1如果你引用别人的霜子垂M牛,一定要注明出虑。加在正文中迤行引用(而不是常做

附件)。

1不要用言言吾攻擎别人(flame),除非你想^别人也攻擎你,老是到穗你。

1在樊送之前检查你的收件人名罩。最近《莘豳街日辍》上有一篇文章辍醇£1^,有一

彳固雇具通谩部力的雷子垂E件散佛封老^的不满,谷好攵有意^到老^也在收件人名罩桂。

1符你的甯子垂M牛一一你收到的重要文件和你樊送的垂E件一一加以条且微加存槽。

如Microsoft和Netscape的好些雇员在1999年司法部^查期^所赞现的,e-mail是永久

性的。要言殳法像罂寸待任何善面借忘^或辍告一檬小心望寸待e-mail。

麒吉

1知道你想要^什麽。

1瞭解你的n聚。

1逗撵日寺檄。

1逗撵凰格。

1文槽美。

1。

1做阳醵者。

1回彳复他人。

相信昌内容:

1原型典便笔,53M

1注重^效的困陵,224M

挑戟

1有黑本好善言寸^了陵内部的交流[Bro95,McC95,DL99]«下;夬心在接下来的

180月^^完所有造三本善。此外,DinosaurBrains[Ber96]道本善言卷命了我渭号所有人都曾带

到工作琪境中的“情绪包袱”。

1在你下一次迤行展示、或是撰嘉倩忘^支持某槿立埸畤,先就著按第20直的

WISDOM蹄合爵做一遍。看道棣是否有助於你瞭解怎檄定位你的^^舌。如果合遹,事接舆

你的H,看你封他凭的需要的估言十有多型硅。

7重^的危害

有些提示和言夬嶷可愿用於软醴樊展的所有)1面,有些想法黑乎是公理,有些遇程祭上普遍

遹用。但是,人凭黑乎没有些途彳空建立造檄的文槽,你很可能曾樊现,它凭作零散的

段落嘉在^於言殳言十、事案管理或编礁的言寸^中。

在造一章桂,我in揩要把道些想法和谩程集中在一起。wmip,"重禊的危害”舆

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论