程序员修炼之道:从小工到专家

可以为以下事物制作原型
1、架构
2、新功能
3、外部数据结构及内容
4、第三方工具组件
5、性能问题
6、用户界面设计
为了学习而制作原型
怎样使用原型
1、正确性
2、完整性
3、健壮性
4、文档风格

领域模型
语言的界限就是一个人的世界的界限。
数据语言与命令语言
估算,以避免发生意外
1、估算来自哪里?
2、理解提出问题?
3、建立系统的模型
4、模型分解为组件
5、每个参数指定值
6、计算答案
项目进度的控制:
1、需求检查
2、分析风险
3、设计,实现,集成
4、用户确认(验收)
5、维护

纯文本的威力:
1、保证不过时
2、杠杆作用
3、易于测试

进步远非由变化组成,而是取决于好记性,不能记住过去的人,被判重复过去。

除了版本控制外,还需要经常编写FAQ手册,方便以后的查询及记忆,好的记忆不如烂笔头。

bug(虫子,臭虫)被描述为“恐怖的东西”,对于bug的制造者,不应该去指责,而是应该去想如何修正问题。金无赤足,人无完人。

最容易欺骗的人是一个人自己。(自我保护意思,强制性的认为自己的东西是正确的。)
要接受错误,并改造,怀疑的精神不可获取,别人的怀疑可以帮你确定自己的工作,面对怀疑,不要恐慌。

再现bug,  bug的繁殖的意思。
数据可视化。可以帮助分析问题。

学习一种文本操纵语言。

1、你写不出完美的软件
2、防卫性的编码,注重实效性的编码,学会怀疑自己的代码,是否存在更好的设计。
3、当每个人都确实对你不利时候,偏执是一个好主意。
4、DBC——按照合约设计。
5、出错时要偏向用户,以用户的观点为主。
6、早奔溃,要奔溃不要破坏。
7、在自责中有一种满足感,当我们责备自己的时候,会觉得再也没有人有权责备我们。
8、检查任何可能的错误,使用断言设法监测你疏漏的错误。
9、要有始有终,分配的资源要记得释放。
10、生活不会停步不前进
11、是模块之间的耦合减至最少。
12、再多的天才也无法战胜对细节的专注。
13、将抽象放进代码,细节放进元数据。
14、容许并发,解除时间次序上的依赖,提高效率。
15、用服务进行设计。
16、
17、
18、重构:重复,非正交设计,过时的知识,性能。早重构,常重构。
19、不要试图在重构的时候增加功能。
20、重构前确定良好的测试。采取短小,深思熟虑的步骤。
21、测试你的软件,否则你的用户就得测试。
22、不要使用你不理解的向导代码。
23、不要只是搜集需求,挖掘他们。
24、与用户一同工作,以像用户一样思考。
25、抽象比细节活得更加长久。
26、使用项目词汇表。
27、把话说出来。
28、不要在盒子外面思考,要找到盒子。
29、有犹豫的人才会得以保全。
30、倾听反复出现的疑虑,等你准备好再开始。
31、启动恐惧症,挑战它。
32、是良好的判断还是拖延?
33、对于一些事情,做 胜于 描述。
34、不要做形式方法的奴隶。
35、昂贵的工具不一定能制作出更好的设计。
36、围绕功能,而不是工作职务进行组织。
37、文明通过增加文明不假思索就能完成的重要操作数目而取得进步。
38、自动化,不要使用手工流程。
39、回归测试,早测试,常测试,自动测试。
40、要到通过全部的测试,编码才算完成。
41、通过蓄意破坏,测试你的测试。
42、测试状态覆盖,而不是代码覆盖。
43、一个bug只抓一次。
44、把英语当做有一种编程语言。
45、把文档建在里面,不要栓在外面。
46、不应该出现在注释中:文件中的代码到处的函数的列表,修订历史,该文件使用的其他文件列表,文件名。
47、任何形式的文档都只是快照。在打印出来的时候就已经过时了。
48、温和的超出用户的期望。
49、你要别人怎么对你,你就怎么对人。

1、类包含抽象方法,则必须为抽象类  abstract
2、密封类 sealed修饰符
3、类的继承只有一个类,不允许多个继承,可以通过多个接口继承。
class Face:Iinterface1,Iinterface2{}
4、委托。

想要,不代表可以得到,想要,不代表有资格拥有。

程序员修炼之道:从小工到专家

时间: 2024-10-21 09:47:29

程序员修炼之道:从小工到专家的相关文章

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

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

读书笔记2014第4本:程序员修炼之道-从小工到专家(第七、八章)

第七章 在项目开始之前 36 需求之坑不为收集需求,挖掘它们.有一种能深入了解用户需求,却未得到足够利用的技术:成为用户.与用户一同工作,以像用户一样思考.描述需求文档时,要使用项目术语表.用WEB来收集和管理需求. 37 解开不可能解开的谜题遇到不可能解决的问题时,退一步问问自己如下问题:1)有更容易的方法吗?2)你是在设法解决真正的问题,还是被外围的技术问题转移了注意力?3)这件事情为什么是一个问题?4)是什么使它如此难以解决?5)它必须以这种方式完成吗?6)它真的必须完成吗? 38 等你准

第4本:程序员修炼之道-从小工到专家(第七、八章)

第4本:程序员修炼之道-从小工到专家(第七.八章) 第七章 在项目开始之前 36 需求之坑不为收集需求,挖掘它们.有一种能深入了解用户需求,却未得到足够利用的技术:成为用户.与用户一同工作,以像用户一样思考.描述需求文档时,要使用项目术语表.用WEB来收集和管理需求. 37 解开不可能解开的谜题遇到不可能解决的问题时,退一步问问自己如下问题:1)有更容易的方法吗?2)你是在设法解决真正的问题,还是被外围的技术问题转移了注意力?3)这件事情为什么是一个问题?4)是什么使它如此难以解决?5)它必须以

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

<程序员修炼之道--从小工到专家>利用了很多带有娱乐,分厂具有思想性的的故事来为我们解释和阐释我没让你软件开发的一些不同方面的注意事项以及实践和致命的重大陷阱等等. 在第六章中给我们讲到现在我们大学生存在的最多的问题.总是喜欢靠巧合编程,这我觉得是致命的.我们在编程的时候要清楚的知道自己的代码每一步需要做的是什么,接下来应该如何衔接,对外界条件要有一定的掌握和判断.在通常情况下,我们编写的程序是正确的,但是在一些特殊的情况下我们的程序就变得不正常了,这就是巧合编程.所以不仅要注意编程,还要注意

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

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

《程序员修炼之道---从小工到专家》第一章读后感

<程序员修炼之道---从小工到专家>一书由美国Andrew Hunt和David Thomas所著,主要讲述了一位程序员应当如何从个人责任,职业发展,到基本工具,实际的编程项目中发展自己.本书第一章的标题为:注重实效的哲学. 第一章整体主要从程序员个人对待团队,同事,领导,以及自己的前途发展,学习时应当持有的态度出发入手,讲述了程序员在公司中应有的职业操守和准则.作者在开篇时向我们讲述了应当如何成为一位高效的程序员,而后则是分别从各各的方面论述这一观点.首先 第一点是:要对事负责.在工作中如果

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

这两周我们小组进入了冲刺阶段的实训,这周我读了<程序员修炼之道>第三章的内容. 靠巧合编程 怎样靠巧合编程 一开始就不知道它为什么能工作.实现的偶然: 因为代码现在的编写方式才得以发生的事情.最后会依靠没有记入文档的错误或是边界条件.它也许不是真的能工作--它也许只是看起来能工作.你依靠的边界条件也许只是一个偶然. 没有记入文档的行为可能会随着库的下一次发布而变化.多余的和不必要的调用会使你的代码变慢.多余的调用还会增加引入它们自己的新bug的风险. 结论? 对于你编写给别人调用的代码,良好的

程序员修炼之道 从小工到专家pdf

下载地址:网盘下载 内容简介  · · · · · · <程序员修炼之道>由一系列的独立的部分组成,涵盖的主题从个人责任.职业发展,直到用于使代码保持灵活.并且易于改编和复用的各种架构技术.利用许多富有娱乐性的奇闻轶事.有思想性的例子以及有趣的类比,全面阐释了软件开发的许多不同方面的最佳实践和重大陷阱.无论你是初学者,是有经验的程序员,还是软件项目经理,本书都适合你阅读. 目录  · · · · · · 译序前言 序第1章 注重实效的哲学第2章 注重实效的途径第3章 基本工具第4章 注重实效的

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

在注重实效的途径中,为我们介绍了一些原则. 首先是重复的危害.其中有一句关键,系统中的每一项知识都必须具有单一,无歧义,权威的表示.——不要重复你自己.有些重复是强加的,比如说建立具有重复信息的文档,在不同环境下重复的定义,编程语言中的重复结构,但是有一些方法可以把重复信息放在一处.比如在头文件中定义了一个定义,而在其他文件中就没有必要再去定义.无意的重复,一般来自于设计中的错误,比如在定义线段的起点和重点的时候,就不要再定义长度,因为长度是一个可以计算出来的变量.无耐性的重复,有的时候写代码往