高效程序员的45个习惯·敏捷开发修炼之道(Practices of an Agile Developer)读书笔记
首先,这本书值得再看一遍——这次的阅读,有很多东西都是知其“形”,不知其“神”的,这导致了我对其中某些建议持怀疑态度,接受了的建议也有待商榷。
总之,先记录本书的一些信息:
Practices of an Agile Developer
高效程序员的45个习惯·敏捷开发修炼之道
美·Venkat Subramaniam和美·Andy Hunt著;钱安川、郑柯译。
人民邮电出版社,图灵程序设计丛书;2010年第一版。
于2017年12月1日读完第一遍。
1.
“敏捷式的单元测试正是采取了相同、相似的过程,并且还让其更上一层楼,不要扔掉桩程序,你把它保存下来,还要让其可以自动化地持续运行,你编写代码来检查其具体值,而不是手工检查那些感兴趣的变量。
用代码来测试变量的具体值(以及跟踪运行了多少个测试),已经是非常普遍的做法。你可以选择一个标准的测试框架,来帮助你完成简单的编写和组织测试的工作,如....Web Service的HttpUnit等等,实际上,对任何你可以想象到的环境和语言都有其对应的单元测试框架,.....(这有一个网址说是里面有这些框架,然而我试了一下网址已经不存在了)”
2.架构设计
开始模仿页面或者做工程的时候,要像书里说的一样列出一个表:
1.对于整个项目,等待完成的任务列表(把设计分解成步骤,加上预估完成所需的时间和建立项目的时间;完成后的功能有什么)。
2.每日的任务列表。(1和2用yes or no标注是否完成和完成时间)
3.用户跟进。由于是做自己的项目,所以完全可以把自己当开发人员和用户来用!就像自己教自己学习一样。每写好一个(或者一部分)可用的功能,就停下来测试和反馈这个功能是否符合预期,有没有要改的地方。
上面这段话写在所有代码的开头。
以前有构思过一个架空的魔法世界(借鉴了《地海巫师》)。在那个世界里,一个人要想释放魔法就必须念咒语,一个咒语由名字和解释组成,名字主要是元素神命名,念的解释越接近元素神的解释,威力就越大,每个元素神都有自己的元素书,里面记载了许多名字和解释,包括一些强大但没多少人知道的禁咒。举个例子:
a说“伟大的风神,请....”,当这个人还是一个菜鸟的时候,发自内心的觉得风神伟大,所以用“伟大”这个形容词会让威力越来越强(相对地,别人可能用美丽之类的形容词也可以,只要内心真的这样认为);但是随着菜鸟越来越强,到了快比肩元素神的地步时,还用伟大反而威力就变得很差了,因为这个时候菜鸟已经不再认为元素神是伟大的了(也有异类)。基于这几点,这个世界是以理解为修为,魔法师们疯狂追寻的除了“解释”外就是魔法术的“名字”了——毕竟没几个人能到神的地步自创名字。
这个小说只写了一点点,后来没时间就没继续了,这个暂且不说了。
那么,这个小说的构造又关我现在在学的编程什么事呢?
前几天写程序的时候突然发现,编程语言=元素主神,变量(函数、api等)的命名=名字,具体的实现代码=解释——真是像啊!编程的学习道路不也是这样么,刚开始读规范学规则(学主神规定的名字和解释),学得越像越厉害,这个像却又因人而异,有些人足够强后就可以自己造轮子了(自己创名)
在我想到这些后,每次写代码的时候都中二感十足啊。。。需求就是怪物,我要写出完美的名字和实现才能把她干掉!只有最强大的魔法才能一次杀死她,不然就得用好几个魔法.....大佬就是主神,语言的建立者就是主神,什么C++神,HTML神啥的。
具体的格式参照(由于自己项目不多,所以这个格式很不成熟):

高效程序员的45个习惯·敏捷开发修炼之道(Practices of an Agile Developer)读书笔记的更多相关文章
- 如果你恨一个程序员,忽悠他去做iOS开发
如果你恨一个程序员,忽悠他去做iOS开发.不管他背景是cobel还是 java,送他一本iOS开发的书.这种书最好是国人写的,容易以偏概全一点,相比洋鬼子的书,更容易学到皮毛.这叫舍不得孩子套不着狼, ...
- 如果恨一个程序员,忽悠他去做iOS开发
如果你恨一个程序员,忽悠他去做iOS开发.不管他背景是cobel还是 java,送他一本iOS开发的书.这种书最好是国人写的,容易以偏概全一点,相比洋鬼子的书,更容易学到皮毛.这叫舍不得孩子套不着狼, ...
- 高效能程序员的七个习惯【csdn】
从网上看到的,感觉挺不错的! Beautiful is better than ugly. Explicit is better than implicit. Simple is better tha ...
- 成为优秀 Node.js 程序员的10个习惯
JavaScript出现近二十年了,但由于其有些问题不能解决,使得像Python和Ruby这一类的语言很吸引人,这些问题包括命令行接口.交互式开发环境.包的管理和没有一个有组织开源社区等.幸亏Node ...
- 介绍Python程序员常用的IDE和其它开发工具
概述 “工欲善其事,必先利其器”,如果说编程是程序员的手艺,那么IDE就是程序员的吃饭家伙了. IDE 的全称是Integration Development Environment(集成开发环境), ...
- Python程序员常用的IDE和其它开发工具
概述 “工欲善其事,必先利其器”,如果说编程是程序员的手艺,那么IDE就是程序员的吃饭家伙了. IDE的全称是Integration Development Environment(集成开发环境),一 ...
- 【Python】Java程序员学习Python(二)— 开发环境搭建
巧妇难为无米之炊,我最爱的还是鸡蛋羹,因为我和鸡蛋羹有段不能说的秘密. 不管学啥,都要有环境,对于程序员来说搭建个开发环境应该不是什么难题.按顺序一步步来就可以,我也只是记录我的安装过程,你也可以滴. ...
- Java程序员普遍存在的面试问题以及应对之道(新书第一章节摘录)
其实大多数Java开发确实能胜任日常的开发工作,但不少候选人却无法在面试中打动面试官.因为要在短时间的面试中全面展示自己的实力,这很需要技巧,而从当前大多数Java开发的面试现状来看,会面试的候选人不 ...
- PHP程序员如何突破成长瓶颈(php开发三到四年)
看了这篇博文,我正好处于这个阶段,也有心要突破自己,呵呵! 作为Web开发中应用最广泛的语言之一,PHP有着大量的粉丝,那么你是一名优秀的程序员吗?在进行自我修炼的同时,你是否想过面对各种各样的问题, ...
随机推荐
- clamav完整查杀linux病毒实战(摘抄)
http://dadloveu.blog.51cto.com/blog/715500/1882521 Linux服务器一直给我们的印象是安全.稳定.可靠,性能卓越.由于一来Linux本身的安全机制,L ...
- 【VBA研究】工作表自己主动筛选模式检測
作者:iamlaosong 用VBA程序处理Excel数据文件.用户的数据文件有时处于自己主动筛选模式,往往导致数据处理不对.为此,须要检測工作表是否处于该模式,假设是,则去掉自己主动筛选.语句例如以 ...
- C#如何发布项目 发布软件
如下图所示,我随便搞了一个小软件,为了测试还在Debug目录下放了一个一副图片和一个LOGO 直接点击生成-发布 "软件名称",然后点击完成 结果报错说没找到SignToo ...
- HDU 4950 Monster(公式)
HDU 4950 Monster 题目链接 题意:给定怪兽血量h,你攻击力a.怪物回血力b,你攻击k次要歇息一次,问是否能杀死怪兽 思路:签到题,注意最后一下假设打死了怪,那么怪就不会回血了 思路: ...
- Spring和SpringMVC的关系
1.Spring和SpringMVC是父子容器关系. 2.Spring整体框架的核心思想是容器,用来管理bean的生命周期,而一个项目中会包含很多容器,并且它们分上下层关系,目前最常用的一个场景是在一 ...
- 2016/1/22 1, 1-100 放集合 特定对象移除 2,List集合和Set集合是否可以重复添加
package shuzu; import java.awt.List; import java.util.*; public class ListIterator { public static v ...
- 写一个简单的Makefile
all: osx .PHONY: osx linux run osx: kale.dylib linux : kale.so run: kale.bin CC = gcc OBJECTS = $(pa ...
- 蓝书2.3 Trie字典树
T1 IMMEDIATE DECODABILITY poj 1056 题目大意: 一些数字串 求是否存在一个串是另一个串的前缀 思路: 对于所有串经过的点权+1 如果一个点的end被访问过或经过一个被 ...
- 深入理解JMM(Java内存模型) --(三)顺序一致性
数据竞争与顺序一致性保证 当程序未正确同步时,就会存在数据竞争.Java内存模型规范对数据竞争的定义如下: 在一个线程中写一个变量, 在另一个线程读同一个变量, 而且写和读没有通过同步来排序. 当代码 ...
- Jquery ajax json 值回传不了
今天调试系统的时候,MVC 框架下调用ajax 值,回传的json值获取不到,后来发现竟然是服务没开,郁闷不已,留个截图,做个纪念.