Code Complete

    前言
    学习并掌握不止一门语言通常是专业程序员职业生涯中的分水岭。一旦一名程序员意识到编程原则是超越特定语言语法的东西时,通往能够实质地改善编程质量并提高工作效率的知识的大门也将向他敞开了。

    第1部分 打好基础
    架构的典型组成部分:程序组织,主要的类,数据设计,业务规则,用户界面设计,资源管理,安全性,性能,可伸缩性,互用性,国际化/本地化,输入输出,错误处理,容错性,架构的可行性,过度工程,关于“买”还是“造”的决策,关于重用的决策,变更策略,架构的总体质量。

    第2部分 创建高质量的代码
    理想的设计特征:最小的复杂度,易于维护,松散耦合,可扩展性,可重用性,高扇入,低扇出,可移植性,精简性,层次性,标准技术。
    设计的层次:(1)软件系统;(2)分解为子系统或包;(3)分解为类;(4)分解成子程序;(5)子程序内部的设计。
    设计构造块:启发式方法。找出现实世界中的抽象;形成一致的抽象;封装实现细节;当继承能简化设计时就继承;信息隐藏;找出容易改变的区域;保持松散耦合;查阅常用的设计模式。其他的启发式方法:高内聚性,构造分层结构,严格描述类契约,分配职责,为测试而设计,避免失误,有意识地选择绑定时间,创建中央控制点,考虑使用蛮力突破,画一个图,保持设计的模块化。
    设计实践:迭代,分而治之,自上而下和自下而上的设计方法,建立试验性原型,合作设计,要做多少设计才够,记录你的设计成果。

   第5部分 代码改善
   开发高质量软件产品的最佳途径是精准描述需求,完善设计,并使用高质量的代码编写规范。

    第7部分 软件工艺
    如果你工作10年,你会得到10年经验还是1年经验的10次重复?必须检讨自己的行为,才能获得真正的经验。只有坚持不懈地学习,才能获取经验;如果不这样做,就无法得到经验,无论你工作多少年。
    设定的道路使人成为或优或劣的程序员。你做得好坏主要靠你的所作所为。行为养成习惯,年复日久这些好坏习惯就决定了你作为程序员的优劣。比尔·盖茨说,任何日后出色的程序员前几年就做得很好。
    人的个性对其编程能力有直接影响。最具有关系的性格为:谦虚、求知欲、诚实、创造性和纪律,以及高明的偷懒。
    很多程序员不愿主动吸收新知识和技术,只依靠工作时偶尔接触新的信息。如果你能抽出少量时间阅读和学习编程知识,要不了多久就能鹤立鸡群。
    好性格与培养正确的习惯关系甚大。要成为杰出的程序员,先要养成良好习惯,其他自然水到渠成。
   

猜你喜欢

转载自jing0501.iteye.com/blog/1722255