以前自己不太重视软件测试,认为只要工程完成就好。认为软件工程仅仅是一门科学技术。更不习惯去写注释。
吃狗食:意思就是使用自己开发的系统。在使用过程中,你会发现很多测试人员也没测到的问题。
CMM:软件成熟度模型。这是在80年代的时候,软件大牛们深感软件问题重重,为了帮助规模庞大的组织改进软件进度和质量制定出来的方法论,用来指导软件开发过程。现实状况是,美国国防部用CMM测量承包商的组织力量,很多印度公司都拿到了CMM3级及以上认证。因为CMM太过复杂,庞大,读完CMM的整个文档需要花费你一生的时间,后来大家才针对它提出敏捷式开发。
软件是科学还是艺术:如果是科学,应该能用数学来证明,但是至今没有人能用数学来证明一段程序是否正确。
编程的本质:一位软件开发人员曾经在85年的时候写过一篇论文,说美国的星球大战计划绝不可能实现,因为导弹防御系统天生无法在真实的工作条件下测试。而编程却是一种试错功夫,人们在写程序时,从不指望一次就写对,他们会犯错,然后再改正,测试和修正,如是反复。
编程是一种创造性工作吗?看着像是,编程行为仍是一种写作行为,逐字逐句的写。一位软件大牛曾说,其实编程可以从写作世界中学到很多东西。写作时你需要读很多别人写的好文章,需要把自己写的文章让大家去评论,但是现在的编程领域却不是这样,大家很少会把自己写的代码展示给人看,也不去看别人的代码。
注释:注释是给读程序的人看的。实际上它不仅是说明性的文字,也是程序员情绪发泄的阀门。windows 2000 某个版本的部分源代码泄露到网上,大家发现微软的程序员们写的注释有很多这样的句子:we have to do this only because Exchange is a moron.(必须这么做,因为Exchange太白痴)
在这才的阅读中了解到好多有趣有实用的东西,以后一定多写注释,做好软件测试。