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

曳光弹

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

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

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

时间: 2024-07-30 13:34:37

《程序员修炼之道》收获整理(二)的相关文章

《程序员修炼之道》笔记(二)

第二章 注重实效的途径 1. 重复的危害 a) DRY-Don't Repeat Yourself.系统中的每一项知识都必须具有单一.无歧义.权威的表示. b) 重复是怎样发生的 Imposed Duplication强加的重复.开发者觉得他们无可选择-环境似乎要求重复. Inadvertent Duplication无意的重复.开发者没有意识到自己在重复信息. Impatient Duplication无耐心的重复.开发者偷懒,因为重复似乎更容易. Interdeveloper dumplic

程序员修炼之道阅读笔记之二

在<程序员修炼之道>一书中,Dave和Andy将告诉我们怎样以一种我们能够遵循的方式编程.他们何以能这样聪明?他们不也是和其他程序员一样,专注于各种细节而已吗?答案是他们在做某件事情时,会把注意力投注在他们在做的事情上——然后他们会试着把它做得更好. 设想你在参加一个会议.或许你在想,这个会议没完没了,你还不如去写程序.而Dave和Andy会想,他们为什么在开会,他们想知道是否可以通过另外的方式取代会议,并决定是否可使某样事情自动化,以使开会的工作推后.然后他们就会这样去做. 这就是Dave和

程序员修炼之道_从小工到专家_读书分享

最近央视给我们连续分享了<大国工匠>,很是羡慕,嫉妒,恨.要知道我们程序员也是一名工匠,哈哈.最近用两天多的时间读了一本和工匠有关的书籍<程序员修炼之道-从小工到专家>这本书,现在分享给大家,因本人能力有限,拙劣之处请包涵. 从这本书的名字说起,这本书现在的名字体现不出来书中的主题内容,书的原名为<The Pragmatic Programmer>翻译为<注重实效的程序员>,看到这个题目想必大家对书的主题有个大概印象.这本书在编码问题,软件架构和设计,项目管

专访《Java程序员修炼之道》作者Ben Evans

转帖这篇文章,很大成分就是认同"保守的设计思想是Java的最大优势"这句话 ------------------------------------------------------------------ [编者按]Java是一种可以撰写跨平台应用软件的面向对象的程序设计语言,它几乎是每个程序员的入门语言,而<Java程序员修炼之道>更是深受程序员欢迎的学习书籍.该书作者之一Ben Evans最近参加了上海QCon大会,图灵社区采访了这位大牛级人物. Ben Evans

第四周读书笔记——《程序员修炼之道——从小工到专家》

本周我读的书是美国Andrew Hunt与David Thomas所著的<程序员修炼之道--从小工到专家>.翻开第一页,我就可以看到无数来自其他专业人士对这本书的褒奖.俗话说,赞美总是不嫌多,我大概浏览了一下其他人对这本书写的评价,不禁对这本书兴趣盎然了.作为一本修炼指南,这本书的编写采取了分立的架构,每一个部分着重地介绍了一个类型或者一种问题.一种思想.因此,采取跳读的方式,可以更好地跟随着自己的兴趣,提高阅读的效率.我着重阅读了序.第一章,注重实效的哲学,第二章,注重实效的途径,第三章,基

《程序员修炼之道》笔记(一)

这几天开始看<程序员修炼之道>,也许不少人看了书的标题,第一时间会觉得这是鸡汤一类的书.但至少以我自己的感受来看,这是很棒的书,现代人文主义不是提倡自我意识嘛,自己感觉好的就是好的.况且人家也是经过了时间和口碑的双重考验的,真心值得好好阅读. 作者在再版的序中写道: 写完<程序员修炼之道>至今已有十年.在这十年中,软件产业发生了翻天覆地的变化.--从表面上看,软件世界似乎陷入了疯狂的状态.但如果你深入繁杂表象的背后,会发现变化其实并不大.1999年的那些通用开发原则,在2009年同

程序员修炼之道第一章读后感

首先我读了序言,明白了这本书可能现在还是读不懂,但是书中的有些知识可能会帮助我以后开发软件少走点弯路, 所以,可能我现在还不太懂,但是我一定会好好阅读,尽量多理解书中的一些经验和内容,这是我对自己读这本书的要求. 求. 接着我读了第一章的内容,虽然第一章篇幅不多,但整体读下来还是收获很多的.在第一章的一开始,就教会了我做一 个做一个程序员的原则,那就是诚实和负责任.如果你做错了某些事,承认它,并给出补救的选择,不要把责任推卸给别人. 更不要找各种各样的借口.不要说事情做不到,而要说能够做什么来挽

《程序员修炼之道》读后感(一)【序言与第一章】

关于本书 在真正打开本书之前我只听说过<程序员修炼之道>是一本好书,我以为它和老师之前介绍过的<大道至简>一样是一本讲精义.讲道理的书(并不是说这样的书不好,只是它们对于开发经验欠缺的学生来说实在有些遥远与晦涩),而本书开篇寥寥几句便打破了我的认识.虽然我只读了本书的前半部分,但从这冰山一角中我可以窥见本书的真诚与实用,我佩服作者对于简单句的运用,第一次打开本书序言的第一句话“本书将帮助你成为更好的程序员”使本来昏昏欲睡的我打了个激灵,我看过别的技术书籍往往开篇会说本书会讲什么.你

读书笔记-程序员修炼之道-序

前言 我们应该成为什么样的程序员 注重实效的程序员具备的特征 注重实效的个体大型的团队 它是一个持续的过程 前言 程序员修炼之道这本书已经通读了一遍,获益良多,但还是不甚理解,所以在重读一遍,顺便做一下笔记.由于自己水平有限,只能摘抄一下重要的词句了. 我们应该成为什么样的程序员 我们的知识背景源自于对计算机科学基本原理的理解,而我们的经验来自广泛的实践项目.理论与实践相结合使我们强大起来. 我们不应该局限于任何特定的方案,而是应该拥有足够广博知识背景和经验基础,这能够让我们在特定的情况下选择更

《程序员修炼之道--从小工到专家》阅读笔记02

<程序员修炼之道--从小工到专家>在第三章中为我们提到纯文本的好好处,书中给我们提醒到,通过纯文本(XML.SGML以及HTML都是纯文本的好例子)我们可以让事情变得更容易.文本对于我们来说有三大好处:保证不过是.杠杆作用.更易于测试.对于程序员,不仅要善于使用纯文本,还必须掌握shell命令行,即使在Windows下我们也要精准掌握.Shell对于我们来说就是我们的工作台,在shell命令下我们可以操作调用我们想要的东西.可以说shell功能是非常强大的,所以对于我们程序员来说掌握它是对我们