`
yzd
  • 浏览: 1820011 次
  • 性别: Icon_minigender_2
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

好程序员的十大习惯之二 写代码之前成竹在胸

 
阅读更多
<div class="Section0" style="">
<p class="p0" style="text-align: justify; line-height: 150%; margin-top: 0pt; text-indent: 21pt; margin-bottom: 0pt; vertical-align: baseline;"><span style="font-family: 'Times New Roman'; font-size: 10.5pt;">[</span><span style="font-family: '宋体'; color: #008000; font-size: 10.5pt;">作者按:大家的好习惯有很多,这其中必然存在重要的和非重要的,我也看过网上有写<span style="font-family: Times New Roman;">N</span><span style="">大习惯的,但是写的都比较随意。感觉就是直接写自己的经验一样。我在写每一个习惯之前,都在琢磨,为什么要把这个习惯放到这里。下一个习惯又是什么?大家也可以帮忙一起来分析,可以在回复的时候,加上自己的建议,谢谢了!</span></span><span style="font-family: 'Times New Roman'; font-size: 10.5pt;">]</span><span style="font-family: 'Times New Roman'; font-size: 10.5pt;"></span></p>
<p class="p0" style="text-align: justify; line-height: 150%; margin-top: 0pt; text-indent: 21pt; margin-bottom: 0pt; vertical-align: baseline;"><span style="font-family: 'Times New Roman'; font-size: 10.5pt;">不清楚自己要做什么的程序员,不可能做出好的代码出来。这话虽然有点绝对,但一定适用于很多人。我知道有一些程序员,在做任务的前期,几乎就是在浪费时间。你去问他做得怎么样了,他会告诉你遇到什么什么困难了,但是你要是帮他分析一下他真正要完成的事情,你会发现,他根本还不知道自己要做成什么样子。他是自己理解一点做一点,根本不管是否需要这个。有时候他所谓遇到的困难,都是他自己凭空想出来的。</span><span style="font-family: 'Times New Roman'; font-size: 10.5pt;"></span></p>
<p class="p0" style="text-align: justify; line-height: 150%; margin-top: 0pt; text-indent: 21pt; margin-bottom: 0pt; vertical-align: baseline;"><span style="font-family: 'Times New Roman'; font-size: 10.5pt;">我喜欢成竹在胸地写代码的感觉,一气呵成,回味无穷。写完之后,感觉全身充满了气息,就好像被打通了任督二脉。血脉流转非常强烈。就一句老话讲:痛则不通,通则不痛。</span><span style="font-family: '宋体'; font-size: 10.5pt;">讲的应该也是这个道理。没想清楚如何实现的时候,或者程序模型没有建立好之前,总感觉头痛眼花。这种状况会视问题的难易程度而定,有时候做梦都在思考。我甚至有一次在梦里把问题解决了。那一次睡觉完的感觉非常好。真是:</span><span style="font-family: '宋体'; font-size: 10.5pt;"></span></p>
<p class="p0" style="text-align: justify; line-height: 150%; margin-top: 0pt; text-indent: 21pt; margin-bottom: 0pt; margin-left: 21pt; vertical-align: baseline;"><span style="font-family: '宋体'; color: #0000ff; font-size: 10.5pt;">梦里太白拨一点,</span><span style="font-family: '宋体'; color: #0000ff; font-size: 10.5pt;"></span></p>
<p class="p0" style="text-align: justify; line-height: 150%; margin-top: 0pt; text-indent: 21pt; margin-bottom: 0pt; margin-left: 21pt; vertical-align: baseline;"><span style="font-family: '宋体'; color: #0000ff; font-size: 10.5pt;">醒来更能上九天!</span><span style="font-family: 'Times New Roman'; font-size: 10.5pt;"></span></p>
<p class="p0" style="text-align: left; line-height: 150%; margin-top: 0pt; text-indent: 21pt; margin-bottom: 0pt; vertical-align: baseline;"><span style="font-family: 'Times New Roman'; font-size: 10.5pt;">但这些之前,一定是我们对于我们要做的东西深刻理解了。是深刻,而不是全面。第一要理解到精髓,第二要用浅显的话总结。这就是深入浅出的道理。理解到精髓是为了方便扩展,用浅显的话总结是为了方便抽象。这两点正好是我们编程所追求的目标。</span><span style="font-family: 'Times New Roman'; font-size: 10.5pt;"></span></p>
<p class="p0" style="text-align: left; line-height: 150%; margin-top: 0pt; text-indent: 21pt; margin-bottom: 0pt; vertical-align: baseline;"><span style="font-family: 'Times New Roman'; font-size: 10.5pt;">只要我们知道我们做什么,工作效率能够提升很多。我就有一个例子,有一次一个业务人员葛工,跑到我这里来,让我帮他改一个系统。这个系统我从来没看过,相关业务我也不是很清楚。结果<span style="font-family: Times New Roman;">2</span><span style="">小时就搞定了。怎么搞的呢?我就和葛工商量,我说这样,你坐在我旁边,你把你要的东西在软件上比划,我把相关代码调出来,看是否你要的地方。就这么两个人坐在屏幕前,一对一的帮助,很快我就改好了他要的功能。</span></span><span style="font-family: 'Times New Roman'; font-size: 10.5pt;"></span></p>
<p class="p0" style="text-align: left; line-height: 150%; margin-top: 0pt; text-indent: 21pt; margin-bottom: 0pt; vertical-align: baseline;"><span style="font-family: 'Times New Roman'; font-size: 10.5pt;">说起这个故事,大家自然能够想到了敏捷中的和客户结对的做法。是的,我认为敏捷实践中的经验,其实就是用组织的形式来弥补我们个人不好习惯所带来的效率问题。我曾经总结过,<span style="font-family: Times New Roman;">RUP</span><span style="">关注的是事理,</span><span style="font-family: Times New Roman;">XP</span><span style="">关注的是人性。你能够发现我在写很多习惯的时候都会提到敏捷。这是它伟大的地方。</span></span><span style="font-family: 'Times New Roman'; font-size: 10.5pt;"></span></p>
<p class="p0" style="text-align: left; line-height: 150%; margin-top: 0pt; text-indent: 21pt; margin-bottom: 0pt; vertical-align: baseline;"><span style="font-family: 'Times New Roman'; font-size: 10.5pt;">有时候我们的工作是琐碎的一堆事。这个时候,一个好的习惯,就是花<span style="font-family: Times New Roman;">2</span><span style="">分钟时间,在一张纸上列出你所有要完成的事项。然后对照这张纸进行工作,每完成一个划掉一行。直到最后完成。我相信很多人都用过这个方法。这个方法在这种情况下的作用非常大。他很容易把我们的精力集中到问题上。否则,我们完成了第一项之后,就会容易有很长时间不知道接下来该做什么。这是一种时间管理方法,也是一种小目标的管理方法。</span></span><span style="font-family: 'Times New Roman'; font-size: 10.5pt;"></span></p>
<p class="p0" style="text-align: left; line-height: 150%; margin-top: 0pt; text-indent: 21pt; margin-bottom: 0pt; vertical-align: baseline;"><span style="font-family: 'Times New Roman'; font-size: 10.5pt;">其实说到底,就是人在知道自己做什么(目标)的情况下,和不知道自己做什么的情况下的效率和效果是不一样的。</span><span style="font-family: 'Times New Roman'; font-size: 10.5pt;"></span></p>
<p class="p0" style="text-align: left; line-height: 150%; margin-top: 0pt; text-indent: 21pt; margin-bottom: 0pt; vertical-align: baseline;"><span style="font-family: 'Times New Roman'; font-size: 10.5pt;">最后说一句,在《高效能人士的七个习惯》中,这个习惯应该叫以终为始</span><span style="font-family: '宋体'; font-size: 10.5pt;">。但我并没有生搬硬套,还是本着实践中确实有效的方式去写这个习惯。</span><span style="font-family: 'Times New Roman'; font-size: 10.5pt;"></span></p>
</div>
&lt;!--EndFragment--&gt;
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics