美文网首页白话C++编程程序员
白话C++编程之“一处定义”原则

白话C++编程之“一处定义”原则

作者: 小宁静致远 | 来源:发表于2017-12-05 08:18 被阅读25次

    原则一:

    一处定义 原则。

    我最信奉的原则之一。

    就是:

    ---------------------

    对一个功能、类  只  定义在  一个  地方。

    就像聊天时  只  用 打开微信 就行, 不用打开好多其它软件。

    又好比,钱  只  放在钱包中, 而不是把钱放到桌子上, 放到椅子上,放到书柜上, 放到衣服兜里, 放到裤兜里, 放到书包里, 永远  只  放到自己的 一个 钱包里, 这样用钱时, 只 用直接找这个钱包就行了。

    如果你玩儿区块链,你一定想把所有币种、交易所的账号和钱 都 只 保存到 一个 钱包里, 这样一定非常方便管理。

    另外,如果你密码、账号太多, 你一定喜欢 OnePasswod 这个软件吧?

    好处:

    ---------------------

    1. 修改时永远  只  修改这  一个  地方。

    2. 增加功能时也  只 在  一个  地方修改。

    3. 将变动  只  缩小到  一个  地方。

    4. 一处修改,所有用它的地方都生效。

    编程中的应用:

    ---------------------

    比如:

    标准库函数 std::cout 输出函数, 它只定义在一个地方,任何地方都可以用它。 当那天说输出的内容不同了,想改变输出的内容,那么代码中比如有500、上千上万次用了这个函数,如果你去修改每个调用这个函数的地方,那么将会被累死,并且极可能(几乎是一定)出错。 

    可,现在,你只用修改 std::cout 本身就可以了

    一处修改,所有处生效 

    随便说一下: 标准库是C++世界的顶尖科学家们写的,非常稳定,通常是不会做修改的。 这里只是举个例子。

    如果是我们自己定义个函数,想改变它的功能,我们也不必去修改所有调用它的地方,我们只需要修改这个函数就好了。

    //找找两个整数中谁更大

    int bigOne( int iLeft, int iRight )

    {

          if( iLeft > iRight )

              return iLeft;

            return iRight;

    }

    后来想法变了: 变成找出谁 的绝对值更大,那么我们只需要修改这个 bigOne( )函数就行。

    具体怎么修改呢?

    留给大家当练习吧。

    有没有同学想试试? 主动一点来获得成长吧

    另外, 大家想想在这三周的学习中,你有没有 看到 一处定义的例子? 如果有, 是什么?

    欢迎留言、讨论!

    相关文章

      网友评论

        本文标题:白话C++编程之“一处定义”原则

        本文链接:https://www.haomeiwen.com/subject/dwkqixtx.html