C++博客 联系 聚合 管理  

Blog Stats

随笔分类

随笔档案

gudu0723

2008年12月25日 #

开区间和闭区间学过这个很多年了吧,估计是在初中时候的数学里。今天特意查了下,终于又知道了“[”是闭的,“”是开的(详细请看下面的花色字体)。

查这个好笑否?其实是有缘由的,当然也有些用处,我慢慢道来

 

1.      编程中,总是很频繁的要实现对数据进行搜索,查找的代码。以搜索举例,要给定开关条件,比如写一个函数,找到login_beginlogin_end之间的帐户。如果这样的代码写得很多了,就会犯糊涂,这里给的条件login_beginlogin_end,到底有没有包含login_beginlogin_end啊?不确定,然后翻代码一看,噢,原来没有包含呀。不确定包含与否的原因,是因为没有使用统一的开闭区间规则。

 

2.      STL的容器和算法的实现,都有一个共性: 迭代器构成的区间是前闭后开的, [vector::begin(), vector::end() ),这样在使用的时候就不会犯糊涂了;

 

3.      C++举例,for(int i= 0; i < 10; ++i)这样的迭代过程,使用的也是一个前闭后开区间,[010,如果这样写for(int i= 0; i <= 9; ++i),虽然等价,但已不是一个良好的格式了;

 

4.     最后所说的吸取养分,总结成如下这句话:业务逻辑上和项目代码里使用统一的开闭区间规则,推荐使用前闭后开“[ ”,为什么?因为所以没原因。

 

 

////////////////////////////////////////////////////////////////////////

a, b 是两个实数, a ≤ b.

1
满足 a ≤ x ≤ b 的实数 x 的集合,
     
表示为 [ a, b ], 叫做闭区间;

2
满足 a x b 的实数 x 的集合,
     
表示为 ( a, b ), 叫做开区间;

3
满足 a ≤ x b a x ≤ b 的实数 x 的集合,
     
分别表示为 [ a, b ), ( a, b ], 叫做半开区间.

这里实数 a, b 叫做区间的端点.



肥仔 2008-12-25 17:24 发表评论

文章来源:http://www.cppblog.com/woaidongmao/archive/2008/12/25/70343.html
posted @ 2008-12-25 17:24 孤独 阅读(1124) | 评论 (0)编辑 收藏

2008年11月21日 #

需要建立自己的工具,基于以下的几点:

1、编码的工作性质就是操作文本;

2、总是在做大量的相似的工作,编写大量可类比的代码,毫无效率;

3、人工写代码,往往引入更多的错误,雷同的错误;

4、总是花费太多时间在编码上,成了打字员,程序员难道就是做文本处理工作的?;

5、找不到适合自己的代码分析处理工具,需求往往和领域挂钩,和个人挂钩,个性化的;

6、语言的特性能够在编码上做到一定的智能,简化,比如宏,模版。但是受的限制太多,并且不可能实现你所想要的那种智能,代码自动生成,扩展预处理效果,最后是你会深陷纠缠其中,可能后来却一无所获;

7、清澈和运用语言的特性需要大量的经验,实践,耗费大量的时间,倒不如做个代码处理工具吧,就是一个文本分析工具而已,从另一面入手,把编码就看作文本操作,化繁为简;

8、自己写的,才是最适合自己,是能够与时俱进的。



肥仔 2008-11-21 10:42 发表评论

文章来源:http://www.cppblog.com/woaidongmao/archive/2008/11/21/67456.html
posted @ 2008-11-21 10:42 孤独 阅读(93) | 评论 (0)编辑 收藏

2008年11月19日 #

若A变动,一系列的B,C,D,E,F将变动,可使用委托



肥仔 2008-11-19 15:32 发表评论

文章来源:http://www.cppblog.com/woaidongmao/archive/2008/11/19/67293.html
posted @ 2008-11-19 15:32 孤独 阅读(140) | 评论 (0)编辑 收藏

1、复杂对话框的控件,状态逻辑;

2、Log与业务逻辑分离的问题;

3、聚合导致接口冗余的问题。



肥仔 2008-11-19 15:31 发表评论

文章来源:http://www.cppblog.com/woaidongmao/archive/2008/11/19/67292.html
posted @ 2008-11-19 15:31 孤独 阅读(120) | 评论 (0)编辑 收藏

2008年11月11日 #

1、从binanry的序列化,装载;

2、从XML的序列化,装载;

3、从HTML的序列化,装载;

4、打印POD;

5、POD多键值比较;

6、从文件导入导出POD

7、基本上依靠保留POD信息,可以实现一个数据库了



肥仔 2008-11-11 10:30 发表评论

文章来源:http://www.cppblog.com/woaidongmao/archive/2008/11/11/66582.html
posted @ 2008-11-11 10:30 孤独 阅读(105) | 评论 (0)编辑 收藏

2008年10月27日 #

1、如果这个函数带需要有自己才能访问数据,那么它就是应该一个类;

2、如果这个函数只是一个过程,没有私有数据,那么他应该属于一组类似过程的一个成员,这一组类似过程就应该是一个类,一个功能或者逻辑单元;

3、因此,每当需要增加一个全局函数的时候,就需要考虑它应该是一个什么样的类中间的一个成员函数,于是增加这样的一个类。达到了集中管理的而不是分散而为的模式。



肥仔 2008-10-27 11:39 发表评论

文章来源:http://www.cppblog.com/woaidongmao/archive/2008/10/27/65185.html
posted @ 2008-10-27 11:39 孤独 阅读(136) | 评论 (0)编辑 收藏

2008年10月25日 #

     摘要: 构建系统数据模型时,有2共选择,以:group->account->son account举例

  阅读全文

肥仔 2008-10-25 02:36 发表评论

文章来源:http://www.cppblog.com/woaidongmao/archive/2008/10/25/64977.html
posted @ 2008-10-25 02:36 孤独 阅读(130) | 评论 (0)编辑 收藏

1、数据对象就是数据的容器,或者说配置的管理,只包含基本的装载,保存,增加,删除,修改,查找等操作,需要保证数据的有效性----若多线程则加锁;

2、业务逻辑对象,是一组处理过程的集合,一组函数组合成的类,这组函数组合能够代表系统中的一个处理单元或者功能模块,因为不包含数据,所以不需要锁;

3、业务逻辑对象需要引用数据对象里面的数据来完成整个流程;

4、简单的模块,数据对象和业务逻辑对象可以综合在一个类里面完成,当然这是一种耦合;

5、复杂的模块,或者系统由多个模块构成,那么数据对象和业务逻辑对象分离是降低复杂度的好办法,这是一种解耦合;

6、一个数据与业务逻辑完全分离的事例是:数据库 + 业务层。数据库是数据的持久,不涉及业务,业务层是逻辑的执行不关心数据的存储。这是一种完全的松耦合;

7、从目前所经历以及吸取的教训与经验来看:从开始就做到数据的的归数据,业务的归业务,会大大降低复杂度,简化系统,降低耦合,十分必要!

 

image



肥仔 2008-10-25 01:32 发表评论

文章来源:http://www.cppblog.com/woaidongmao/archive/2008/10/25/64975.html
posted @ 2008-10-25 01:32 孤独 阅读(155) | 评论 (0)编辑 收藏

2008年10月12日 #

1、抽象接口,abstract;CAPIInterface

2、DLL包装后的工厂;CManagerDLL

3、上游参与者的调用接口,Command of calling;CAdminCmd

4、下游参与者的包装,Ask for doing sth;CSysDataBase

5、纯粹的容器,一般是比较大的容器,因为数据种类较多,其中不含执行逻辑;CCommonData

6、容器与逻辑的结合体,数据单一,逻辑只关心容器里的数据;COrderFilter

7、纯粹的逻辑;CClientCmdCheck

8、静态的。CErrorDescription

9、对系统API的包装, CNetFuncs



肥仔 2008-10-12 18:48 发表评论

文章来源:http://www.cppblog.com/woaidongmao/archive/2008/10/12/63826.html
posted @ 2008-10-12 18:48 孤独 阅读(204) | 评论 (0)编辑 收藏

开发测试程序的时候,喜欢用笔记录下来一些东西,但是目前都只限于记录下发现和等待修正的bug,

那么其实还有另外一种更加重要的信息,以前忘了记录:代码需要重构地方,比如类的分解,以及如何重构。(这个需要持久保留,所以最好写在电脑里成.txt,而不是纸上)



肥仔 2008-10-12 18:22 发表评论

文章来源:http://www.cppblog.com/woaidongmao/archive/2008/10/12/63823.html
posted @ 2008-10-12 18:22 孤独 阅读(81) | 评论 (0)编辑 收藏

仅列出标题  下一页