首页 > 代码库 > 一些程序设计的笔记

一些程序设计的笔记

1.处理信号时,尽量避免进行复杂的操作,而是仅仅设置某个标志即可.这样能够避免一些潜在的问题,如函数重入,某个函数xxx正在写一个静态缓冲区,写了一半时,信号到来,进入信号处理函数,信号处理函数中又调用了函数xxx,这样导致信号处理完后原来的写的数据无效.

2.定时器的实现可以依靠SIGALRM信号, 不需要自己单独搞线程,循环判断之类的搞得那么麻烦.

 

简约的程序设计

归纳为一句话就是:最方便的实现就是最好的。
1.尽量避免类头文件之间的相互包含,一般出现这种情况可视为设计不良.
2.一个类如果需要在多个类中使用,尝试设计为单例,不做参数传递.
3.如果一个类的数据需要被其成员变量访,而不要直接传递类的指针给其成员变量的构造函数,而是传递需要访问的数据指针,如果需要访问的数据很多,可以考虑将该类设计为单例,在子类中直接获取该类对象,而不单独传递逐个参数.
4.如果多个相同类需要访问同一的数据,将这份数据设为static.

5.解决一一映射,相互查找的一种实现方式:在将其中一个数据定义为类,类中包含一个静态map,map中包含了其key到类对象的映射,在类对象中同时有该key成员变量,这样知道了该类对象,或者知道了key,都可以相互查找.

一些程序设计的笔记