随笔(2015.10)

1.在一些关键的函数,例如回调过来开始处理的函数,流程逻辑一定要清楚,不要掺杂太多的逻辑处理,一定要短而且要清楚表达逻辑的走向。
2.函数名字最好动词开始,把里面最主要的逻辑表达清楚,不要试图说明所有的动作,要抓住懂点。
3.想写出扩展性强、容易理解的程序,写完后代码会变多,类会变多,方法会变多,变相增加了一部分工作量,但程序流程清楚(结构化编程),变化时改动小(抽象变化)。
4.很多东西有共通的道理,如何让程序高效率的运行?首先要理解其所处的环境,程序是运行在哪里,运行的机制是什么(操作系统原理)。从cpu角度来讲,高效就是运算步骤尽量少(较少线程切换、锁竞争),运算工作排列的仅仅有序(不要有空闲的时候,线程中锁等待时间要短)。

5.除非编译器实现了新的export关键字,否则将模板成员函数设置在一个独立的实现文件中将无法运行。因为模板不是函数,它们不能单独编译。模板必须与特定的模板实例化请求一起使用。为此,最简单的方法是将所有模板信息放在一个头文件里,并在要使用这些模板的文件中包含该头文件。如果编译器实现了心得export关键字,则可以将模板方法定义放在一个独立文件中,条件是每个模板声明都是以export开始:

6.发现一个使用指针小技巧,如果一个对象的指针成员不停的在切换所指向的实体,那么可以在这个对象指针切换指向实体前在释放以前的资源。这也需要根据实际场景来判断。但需要注意在指针所属于的实体释放时候,不要资源泄漏。

7.模板的特化也可以认为是一种“多态”,处理的场景不同,当参数类型改变对应的行为也会改变。例如输出一组没有关系的结构体的时候,可以定义一个模板类”基类”,在特化的类中实现具体的功能。当然简单写可以使用重载的方式实现不同的参数有不同的行为。使用模板类好处就是可以在模板类中调用。

8.何时把switch case的实现使用多态类实现呢?使用多态实现的最大好处是可以隔离变化,如果使用一个工厂虽然里面也是switch case的样子创建对象,但是隔离了变化,隔离之后,在增加case的情况,更容易理解(对象),只需要修改工厂函数就可以了,其他的不用修改。

9.http://www.cnblogs.com/chenwenbiao/archive/2011/08/11/2134503.html 对编码介绍详细的文章

10.对与国际化的一种方法,需要把sql脚本,配置文件中的所有汉字词语转成葡萄牙语,首先想到的是正则表达式,比较麻烦。其次可以通过分析文件特征来,如果是sql脚本,所有的汉字都是使用”引用起来,可以把所有”引用的字符提取出来,然后转成UCS-2大顶端方式,判断字符是否在这个范围内,从而判断这个字符串是否含有汉字,如果有提取出来即可。

11.思考太少。下班前15分钟,可以总结计划工作。

12.新增协议要思考协议的功能,也就是这条协议存在的原因。从系统设计角度看,一条协议代表一个功能,这就可能会出现一条协议处理可能会多步骤的情况,如果要求事务一致性强,那么可能会处理的复杂。

13.JS为前端脚本,php为服务器脚本。虽然php也写在页面里面,但发送到前端的时候会进行一次编译,编译后就全是html与js了,发送给web的不会看见php任何的影子。
所以,不要再js的定义范围内使用任何php脚本,前端是看不懂的。
前端脚本有JavaScript、HTML DOM、jQuery、jQuery Mobile、AJAX、JSON等等,绝大部分为js相关。

14.java的枚举类在c++中也可以实现。枚举类也是一个类,用普通类也可以完全实现。那么这个东西有什么用处呢?对象有了“枚举”的特征,即:所有的枚举对象,都必须在一个地方一次性声明起来。如果是一般的类,是无法控制符合一定接口的类的产生的。
与普通的c++中使用关键字ENUM定义和原java中定义例如:
public interface IConstants {
String MON = “Mon”;
String TUE = “Tue”;
String WED = “Wed”;
String THU = “Thu”;
String FRI = “Fri”;
String SAT = “Sat”;
String SUN = “Sun”;
}
有什么好处呢?枚举多了对象的属性。可以增加一些其他的方法,例如通过名字不能描述的信息等一些其他特殊的“枚举属性”。

15.
http://www.cnblogs.com/yuanfan/archive/2012/12/31/2840779.html Mangos魔兽世界服务端初探(1)–游戏服务端主体结构与消息分发
http://blog.csdn.net/xiaoguaiyin/article/details/7993320
http://www.cnblogs.com/ychellboy/archive/2011/12/24/2300597.html
http://blog.csdn.net/zhangwu416826/article/details/7827059
http://blog.chinaunix.net/uid-26722078-id-3801402.html 游戏服务器结构探讨——结合mangos分析
http://blog.csdn.net/kenkao/article/details/12440307 mangos服务器架构
Socket通信库 C++ Sockets Library 和 C++的并行编程模板库Threading Building Blocks (tbb 和 tbbmalloc)

16.客户端Session的管理

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值