软件开发不同于其他行业的地方在于:完全脱离物理限制,唯一的限制是开发者的大脑。开发者的心理因素也就成了开发效率的最主导因素。 心理学表明,压力可以分为良性压力和恶性压力,他们对于开发效率的影响截然相反。良性压力促使人精力充沛,感觉敏锐,喜悦感增强,开发效率提高。而恶性压力然人感到身心疲惫,沮丧,厌倦,开发效率下降。 那么良性压力和恶性压力的根源是什么呢? 选择感:这个任务是你选择的还是上面硬塞给你的? 控制度:当项目陷入泥潭,地毯下面隐藏着无数风险(bug,需求变更,deadline),你的胃有什么感觉?而100%的测试覆盖率和绝大部分都通过的持续集成呢? 可预测性:一个半年的 ...
前些日子问了透明一个天真的问题,透明亲自授道解惑后受宠若惊。SICP这本书我也买了好久了,只不过刚刚看到第二章。正所谓:书非借不能读也。其实我还准备问"那么是否可以把所有Stateful的过程形式化的转变为Stateless的过程",又觉得这个问题太大了,下面就谈一点自己这方面的体会。 再论语法糖这篇Blog的现实意义是什么呢?就是尽量避免写出Stateful的代码,因为Stateless的代码最不容易出错,便于测试,维护成本低,而且更加容易抽象。在实践中可以发现,大部分过程都可以是Stateless的。 每次声明一个Setter方法时都要拷问自己,是否会使对象变得Stateful,付出这 ...
在学习Ruby on rails 的过程中,真正体验到了TDD和敏捷开发的乐趣,谈一点感想。 TDD与其说是Test Driven Development,不如说是Test Driven Design。 测试先行不同于先编码后测试的最重要一点就是,先编些测试能够在编码前就能思考类和方法的行为,期望输入和期望输出。设计和编码之间的鸿沟最大限度的得到了解决。 Test First 永远不等于"Test Earlier" ! 许多自称理解了TDD的人自以为只要懂得了测试的重要性就行了,是否先行并不重要。 在我做项目的经验中,有时候在开发过程中没有写单元测试,而后来上面要求提交单元测试。这时候写单元测 ...
写代码的从原来的IT精英沦落到今天的软件蓝领,代码工人,是有些可悲的。   所以我们中的多数人坚信,一定要摆脱编码,上升到设计层次才能算是工程师的。   前些日子,在一个例会上,两位同事发生了一点意见分歧。   在系统还没有开始开发之前,一个系统的设计需不需要一个详尽到类图,方法属性的设计文档? 这点问题他们的争执到最后也没有结果。   这件事还使我想到MDA开发方法的火爆,记得去年有几个同事深谙此道,还在项目中用EMF代码生成方式开发。这种开发方式的基础也需要一个详尽到类图,方法和属性的设计,才能根据这些进行代码生成。   项目初期比较顺利,但是最后由于生成的代码修改起来极其困难,导致代码R ...
dongbin
搜索本博客
存档
最新评论