• DRY(1)--读后感


    题记:

    去掉重复的信息会让你的代码的结构发生本质的变化

    —— vczh

    正文:

    因为要对项目做重构, 所以, 读了 vczh 的这篇 <<靠谱的代码和DRY >> 和 <<The Pragmatic Programmer>> 的 Item7, 8. 下面是部分摘录:

    不能repeat的其实是信息,不是代码。然而, 分析什么是信息又不是一件简单的事情.所以, 只能不断地修改. 目的: 保证代码质量不断提高.

    换句话说, 不断地重构.而重构, 又需要做TDD. 目的: 保证代码质量.

    特别的, 对GUI做TDD, 又需要MVC. 目的: 方便代码的测试.   => 首先, 实现代码的MVC.

    另一方面:

    在现实生活中, 居多的 applications are database driven。在UT时, 作为 Database 也就意味着需要有一个 Real Database Class。

    这个时候, 你要构造出整个 Database Class 才能进行 UT。这是一个很High的Burden。通常情况下,coder会把这些东西扔给QA做Functional Test。

    image

    image

     

    而当 it comes to programming,design by contract, 必然得到各种interface,那么UT就可以方便地进行。

    interface:表达的是,“能做什么”,其实, 是一种function。function当然容易测试。 目的:方便测试。

    另一方面, 做TDD时, vczh 的风格是, 先UT, 最后加GUI. 目的: 追随master.

    正交的代码易于测试: (1) 没有重复/平行的代码, 不需要重复测试.

    重构时,

    (1)如何划归成MVC?

    (2)如何实现 interface oriented programming?

    ### Update

    1. 信息, 具有 结构, 组成 这样的meta data.

    比如: Tony;Male;Engineer 这样的信息, 结构: (field N;)*, 组成, 如分隔符(;).

    还有,类型信息(CommonDef)。

  • 相关阅读:
    EOS 数据库RAM使用量的计算
    EOS require_auth函数
    EOS测试链智能合约部署调用
    安装EOS合约工具eosio.cdt
    Linux Ubuntu下搭建Flutter桌面环境
    VMware虚拟机与物理机共享文件的方法总结
    虚拟机macOS Mojave10.14安装XCode10.1
    VMware14 安装 macOS Mojave教程
    VMware 14安装OS X10.11
    Mac OS虚拟机安装VMware Tools的方法
  • 原文地址:https://www.cnblogs.com/permanence-practice/p/3986605.html
Copyright © 2020-2023  润新知