jazz's blog

Good Principle of Programming

好的编程原则

*. 软件是一门工程学,其实也是一门工艺学,一个好的软件产品也是一件艺术品,构建这件艺术品有很多好的原则,下面来源于我的工作学习中总结。

*. 很多时候针对一个未知的问题,用已知的经验或知识去理解它,会存在正向或负向的偏差,甚至有时候这种偏差很大我们应该在不断的尝试中去修正偏差或发觉新的见解。

*. 我们享受对象带来的好处,但是往往我们却忽视了去维护对象的状态。一个对象的内部状态(字段)不应该超过3个

*. 一个内部状态应该只有一个引起改变它的原因。

*. 可测试性与松耦合,高内聚,无冗余和恰当的封装存在着正向的关系。

  1. 意图导向编程

    • flow
    • design
    • 接口
  2. 契约式编程

    • 契约就是“检查是否规范”;
    • 契约构成程序规格说明的一部分,只不过该说明从文档挪到了代码中;
    • 契约是一组结果为真的表达式。如若不然,契约就被违反。那按照定义,程序中就存在bug;
  3. 交互式编程

    • give me a shell
    • repl
  4. 原型开发

    • not just a demo
    • fork
    • code refactoring
    • just a bit change one by one
  5. 测试先行

    • 测试用例的分析法,使用测试来确定软件需包含的功能
    • 使用测试来完成设计