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

原则一:

一处定义 原则。


我最信奉的原则之一。


就是:

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

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


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


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


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


另外,如果你密码、账号太多, 你一定喜欢 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( )函数就行。


具体怎么修改呢?

留给大家当练习吧。

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


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

欢迎留言、讨论!

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容