- 展现方式同Google Notebook非常相似
- 采用了不分层的Tag方式进行管理
- 可以对Note进行所见即所得的富文本编辑
- 可以多人合作共享Note
- 有浏览器插件,可以直接抓取网页。而且插件很丰富:Toolbar, Clip, Bookmark, Snap
- 居然能够直接从Atom导入现有的Google Notebook内容。
- 缺点是对于每一个Note不能折叠显示。
另一个可选的替代方案是:TiddlyWiki + Clipmarks,只是Clipmarks的速度比较慢。


Martin: 关于这些项目中不写文档的说法是荒诞的。文档和计划当然要做,不过他们不再是过程的一部分,而是过程中的一个任务。在敏捷项目中,会有很多任务,有些任务会包含文档化、项目计划等这些管理团队需要做的规范操作。但它们不再是过程的一部分,这句话的意思是说,它们的秩序不是固定的,我们不是一定要先写文档,也不是一定最后写文档,我们在写文档这个工作变得重要的时候来做它,它会和其它任务一样在日程中进行安排。
Martin: 对.NET开发者而言,在学习敏捷开发的过程中最大的挑战就是测试驱动开发。敏捷开发对单元测试和自动化接受测试的要求很高。TDD现在已经被全行业所接受了,就算你是微软,也是一样的。
Q: 单元测试怎么能反映/代替需求 ?
A: 单元测试未必能直接反映宏观上的需求, 但
功能测试和集成测试能够反映宏观需求.
单元测试能够反映系统的其它部分对当前单元的需求.
而从文本的角度, 测试用例的名字就是需求的描述. 换句话说, 你从传统的需求文档中把描述抠出来, 放到测试代码中作为测试用例的名字, 你便拥有了可执行的需求文档
当你试图测试一个单元时, 却发现需要创建大量的其它对象, 而且按照你脑海中的实现, 有些对象是在单元内部创建的, 根本无法在测试环境中假冒它们. 这时候, 你即使只是为了减少测试的难度, 也会逼迫自己思考:
这个单元是否做了太多的事, 承担了额外的职责, 违反了单一职责原则?
是否应该把依赖让外界设置进来, 而不是自己在内部创建, 这样测试时就能把依赖设置为假冒的实现?
是的, 单元测试警示你思考一下自己的设计

XP为什么不适合国内的现状?下面是我个人的一些看法。
针对极限编程的准则:
上面就是我对极限编程的一些看法,极限编程并非一无是处,而是不适合中国国情。而且极限编程的各个实施原则之间是紧密耦合互相补充的,所以很难进行裁剪。
在我看来,极限编程的最大问题就在于“极限”二字。“水满则溢,月盈而亏”是国人都明白的道理,所以对于极限编程而言,我们都需要问一句:“把所有的事情都做到极端就好吗?”
最后,推荐ICONIX过程,一个相对比较中庸的敏捷过程,实施起来也不困难,指导明确,效果明显。