[译稿]软件编程21法则[转]

任何一个有经验的程序员都知道,软件开发遵循着一些不成文的法则。然而,如果你不遵循这些法则也并不意味着会受到惩罚;相反,有时你还会获得意外的好处。下面的就是软件编程中的21条法则:

任何程序一旦部署即显陈旧。
修改需求规范来适应程序比反过来做更容易。
一个程序如果很有用,那它注定要被改掉。
一个程序如果没用,那它一定会有很好的文档。
任何程序里都仅仅只有10%的代码会被执行到。
软件会一直膨胀到耗尽所有资源为止。
任何一个有点价值的程序里都会有至少一个bug。
原型完美的程度跟审视的人数成反比,反比值会随着涉及的资金数增大。 阅读全文 >>

读林锐大作《软件工程思想》有感 [转]

原址:http://blog.sina.com.cn/u/4a8238ac01000638

下面是我从书中抽取出来的,也希望能和你有共鸣
1.无论是什么好方法,贵在理解与灵活运用,而不可当成灵丹妙药,不象"吃了脑黄金或脑白金,就能使一亿人先聪明起来。
2.不要让人觉得程序员只管钻研技术,可以不懂世事并且应该自由散漫。程序员不该因为幼稚而显得单纯,应该是成熟了才变得单纯,才配得上这个充满活力的职业。 阅读全文 >>

怎样成为优秀的软件模型设计者

我们期待自己成为一个优秀的软件模型设计者,但是,要怎样做,又从哪里开始呢?将下列原则应用到你的软件工程中,你会获得立杆见影的成果。

1. 人远比技术重要

你开发软件是为了供别人使用,没有人使用的软件只是没有意义的数据的集合而已。许多在软件方面很有成就的行家在他们事业的初期却表现平平,因为他们那时侯将主要精力都集中在技术上。显然,构件(components),EJB(Enterprise Java Beans)和代理(agent)是很有趣的东西。但是对于用户来说, 阅读全文 >>

白话软件架构与架构师 [转]

架构一词是舶来品,是architecture的中文翻译, 其英文的本意是来源于建筑行业的建筑艺术、建筑(风格)和结构,引入到软件领域里面来以后,并没有一个统一的定义。有的人将架构定义为:功能+设计+构造手段,我们可以通俗的理解为:总体设计和总体结构。

买过房子的人都知道5层以下的楼房一般是砖混结构,而高层和小高层的楼房都是框架结构,楼层越高对结构要求越高。软件也是一样,系统越庞大,生命周期越长,结构的重要性就越明显。因此,随着人们对软件工程的深刻理解,将架构进行充分的强调是很自然的,正如人们越来越强调系统的需求分析,从而有了领域工程师和领域专家的概念一样。其实强调软件架构的最主要的目的有3个: 阅读全文 >>