zoukankan      html  css  js  c++  java
  • [转载]高质量程序设计

    "10大"软件质量属性
    功能性:Correctness(正确性)
                  Robustness(健壮性)
                  Reliability(可靠性)
    非功能性:Performance(性能)
                     Usability(易用性)
                     Clarity(清晰性)
                     Security(安全性)
                     Extendibility(可扩展性)
                     Compatibility(兼容性)
                     Portability(可移植性)

    如果不懂得如何有效地提高软件质量,项目会付出很高的代价,你(开发人员)不仅没有功劳,也没人欣赏你的苦劳,你拥有最多的将只是疲劳。(这应该是大部分初级阶段程序员共有的悲哀吧)

    企业开发产品的目的是赚钱,为了使利润最大化,人们希望软件开发工作“做得好、做得快、并且少花钱”。(身为程序员,应该始终记住这个道理,开发编写程序的目的是为了获得利润,用知识换取财富。到了这个阶段,已经不是为兴趣爱好的东西而设计程序,而是为了正确地高质量地完成一项任务。没用人会为了单纯设计软件而开一家软件公司)

    过程与产品存在因果关系。即好的过程才能得到好的产品,而差的过程只会得到差的产品。
    (领导对员工们下达命令是总强调:"我不管你们如何做,反正时间一到,你们就得交付产品",结果...)

    精确地制定项目计划很重要,不在乎计划中的进度看起来有多么快,计划要恰
    如其分。(计划,是一件很好的东西,但计划,又是一件非常非常难的事情,不然怎么总说,计划赶不上变化)

    CMM(Capability Maturity Model)是用于衡量软件过程能力的事实上的标准,同时也是目前软件过程改进最好的参考标准。CMM将软件过程能力分为5级,最低为1级,最高5级。目前国内只有几家IT企业达到了CMM2级或CMM3级。但实施CMM时遇到的共性问题是“费用高,难度大,见效慢”。
    (好东西需要高成本,凡是涉及人的东西往往都变得非常复杂,光是项目开发里面已经有一堆人需要管理了,再加上一堆做质量评估的人,变得是剪不断理还乱,要是做为质量维护的人能力很高可能是很好的促进作用,要是请了个庸人,难免不会站着说话不腰痛。而且都还是人呢,谁不要吃饭呢。)

    编程是一门艺术吗?作者的观点:水平高到一定程度后,干啥事都能感受到“艺术”,编程也不例外。编程艺术是人们对高水平程序创作的一种感受,但只可意会不可言传。
    (艺术不是向来都是只可意会不可言传的吗,什么时候普通老百姓看明白了的艺术,就不叫做艺术了。我认同编程也是一种艺术,艺术不就是同样爱好一类东西的人都认同的吗,你要认为它是艺术,它就是艺术)

    任何事物都应该是尽可能地简洁,爱因斯坦说的
    (我也是这么认为的,可惜我不是爱因斯坦^_^)

    (看过了高质量软件设计指南的前两章,确实是一本好书,一本启蒙好书,让你看到了许多程序之外的书。我们都是程序员,程序就是生活,但生活有许许多多并不是程序,程序不应该是生活的全部。开发程序是为了完成一件很好的产品,但一件好的产品不仅仅依赖于程序设计。也许就是希望告诉我们,程序开发的基础很重要,但是管理学知识更重要。每个人都会变老,程序员更容易变老,如何在职业生涯中计划好一条转变的路,更重要。)
  • 相关阅读:
    【Netty学习】 ChannelInitializer 学习
    【Netty学习】Netty 4.0.x版本和Flex 4.6配合
    Spring框架学习
    【JS教程23】jquery链式调用
    【JS教程22】jquery特殊效果
    【JS教程21】数组及操作方法
    【JS教程20】jquery动画
    【JS教程19】jquery绑定click事件
    【JS教程18】jquery样式操作
    【JS教程17】jquery选择器
  • 原文地址:https://www.cnblogs.com/scnutiger/p/1575478.html
Copyright © 2011-2022 走看看