码迷,mamicode.com
首页 > 其他好文 > 详细

《程序员修炼之道》收获整理(二)

时间:2014-11-23 09:23:09      阅读:136      评论:0      收藏:0      [点我收藏+]

标签:技术   开发经验   编辑器   脚本   gui   

曳光弹

曳光弹本意是指在黑夜里向地方区域发射的弹药,这里用到了类比(感觉有点暴力),它适用于新的项目,特别是我们从未构建过的东西时。我们面对的问题有:

1.没有新项目的开发经验

2.用户需求不明确,表达不清

3.开发时会面对大量的未知的事物:新的算法、技术、库或者语言

4.开发过程中需求和开发环境可能改变

解决方法:

1.经典的做法是把系统定死,制作大量文档,列出详细的需求,确定所有的未知因素,限定环境。很显然,这种做大的难度非常大而且没有灵活性

2.然而,注重实效的程序员会使用更加灵活的方法:曳光弹。他的思想是根据用户的需求先写出一个基本的、也有可能很简陋的框架,然后在根据客户的需求以及运行效果进行修改。

曳光弹的优点:

1.用户能够及早地看到东西

2.开发者构建了一个他们能在其中工作的结构

3.你有了一个集成平台

4.你能够知道工作的进展

注意,曳光弹不一定总能接近或者指向用户的核心需求。


估算

估算是一项非常重要的技能,将这项技能发展到你对事物的数量级有知觉的程度,你就能展现出魔法般的能力,确定他们的可行性。

衡量估算结果的准确性-----单位

1.比如说估算时间,我们给出的单位若果不合适容易引起误解,建议的时间单位是

时常 单位
1-15天
3-8周
8-30周
30+周 给出之前好好思考
如何估算?

1.根据问题估算,分析问题

2.理解问题的核心

3.根据个人对问题的理解,建立粗略、就绪的思维模型骨架。比如你要估算响应时间,那么你的模型中就要涉及服务器和某种到达量。估算的关键是能够根据问题准确的建模。

4.把模型中的实体(组件)分别列出

5.给每个组件估算时间

6.计算结果

学会估算,追踪自己的估算能力,最好能把每次的估算都记录下来,一方面可以看看估算是否准确,另一方面有助于自己成长。

使用工具----君子性非议也,善假于物也

Unix哲学:提供“锋利的小工具”,其中每一样都意在把一件事情做好----Unix因为围绕这样的哲学设计而著称。

shell与GUI

1.万能的shell。可以启动应用、调试器、浏览器、编辑器以及各种实用程序,可以搜素文件、查询系统状态、过滤输出等。

2.褒贬不一GUI,一方面,对于一些简单的操作,它可能更快、更方便,但是像移动文件、阅读MIME编码的电子邮件以及写信。这些操作也用GUI(图形化接口)操作,就会错过环境的某些优秀的能力。,你无法使常见命令自动化、无法利用各种工具的全部力量。无法定制宏工具或者脚本文件。

使用一种可配置、可扩展、可编程的强力编辑器:Vim、Emac

源码控制,控制代码的版本。


《程序员修炼之道》收获整理(二)

标签:技术   开发经验   编辑器   脚本   gui   

原文地址:http://blog.csdn.net/u011387521/article/details/41392871

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!