All Stories
今天看到什么代码圈复杂度度量的理论和工具等等内容,找个Source Monitor对我这两个月来写的一体化平台的代码嚼了一遍,发现我基本上写了约20000行代码,当然,包括注释和空行。无心算了一下,以一个月20天计算,两个月来我平均日产代码500行呀!有种说不出的感觉,没想到我写代码是这样的。光是看数量20000行似乎并不多,前不久数的时候才14000。但从日产量看,这个数字太高了,我自己对自己的要求是有200就不错了。然后从Source Monitor的分析数据看,有不少地方写的复杂度高了点,最高的是21,从公司的宣传ppt上看,大概4、5之类的比较合适吧。不过我顺便让它分析了一把Impeller的代码,那编辑器模块一初始化函数,复杂度是137,哇哈哈,真吓人,还有好些八九十的。不过这也不能说明多少其它的含义,最多只能说,也许我这点代码的可维护性比Impeller中的要好一点点。那也是归功于doxygen的推动和促进,如果不是因为一直想着要留一份可以生成良好文档的代码,我也不会写那么多注释了。当然另外一部分原因是,对Boost库的逐渐了解和熟悉,在Boost的帮助下,有不少代码可以简化。 明后天就要把这两个月来的东西拿出去见人了,希望一切顺利啊!
最近渐渐会用Boost.Bind和Boost.Lambda了,真是爽快啊。现在明白,要用Boost,就得尽量使用STL,配合它的容器、算法才能发挥功效。如果自己写了容器,也要看情况写些方法,适应它的需求。今天写了好久代码,挺累人的,到后来真的头昏脑胀了,郁闷。 回来继续搞SocketHelper,除了要有像Wireshark的抓包功能外,还要加上nmap似的扫描功能,以后有机会再搞个可以支持无线网卡的抓包功能,呵呵。 现在Wireshark和nmap都用lua来做扩展了呀,呵呵。
今天项目组组织活动爬笔架山,然后去华强北毛家饭店吃中饭,吃完中饭就地解散,我去地铁站办了张深圳通,顺便去问了一下内存条。一问现在930可以买一根1G的原装,750就有TPOP的,立马就心动了,跑回家,背了电脑出去加了一根TPOP的。现在就有1.5G内存了,心里感觉就是爽啊,哈哈!
最近感觉是又累又困,每天早上起床都很是困难啊!今天在公司里几乎没做什么事,这几天心里焦虑感很重,唉,不知不觉的压力就这样袭上来。 好像脾气也变得比较急躁了,或者说神经也更脆弱了,很是在意别人的话,也许根本不是针对我的。 昨天弄到快凌晨2点才睡觉,asio还是有点难用,主要是参考资料太少,自带的文档看得不明不白,例子程序也是不明不白。 我有病,真的。
调了一会儿,用tcp连接还是有问题,无奈之下放弃了,想想用udp试试,只是发个消息而已,为什么会这么困难。没想到udp不但代码简单,而且效果上也达到我希望的要求了。我只能说,我真土,真的,到现在也没搞明白为什么用tcp的就不行呢,晕死了。 点对点通信基本稳定后,心里突然就轻松了很多,仔细想了想剩下的事,虽然还有不少,但是心中还是很高兴。
不过boost真的是个好东西,很多库很有用,呵呵。
自从写完那段代码,一直以来都有问题,服务器端读内容时,总是返回一个错误码,结果什么都读不到。都不知道是服务器端写得有问题,还是客户端的代码有问题,仔细看了看asio带的那些个例子的代码,尤其是里面的http服务端和客户端以及chat的服务端和客户端,下午在那里找原因,一会儿以为是服务端的问题,一会儿又以为是客户端的问题,结果到最后还是没找到具体原因,郁闷。 看来一个好用的调试工具是不可少了。但是用Wireshark抓包的结果看,客户端是确实把内容发送过来了,只是看netstat看连接状态立马变成CLOSE_WAIT,然后连接消失,现在我又怀疑是客户端的问题。
周末整了好久,想在程序里嵌入Ruby解释器,可是发现在MFC程序里,只要include了ruby.h,编译就会不过,说什么fd_set啥子啥子的,很是郁闷,今天在公司,同事说只要include一下WinSock2.h就行了,晕,我当时怎么没试试。 SWIG果然能一下生成一大片的代码,而且可以通过宏来比较灵活地进行配置。只是最后效果怎么样,还没有试。总的说来,自从改用VC以来,得到不少好处,主要是很多开源的东西都会主力支持VC这编译器,相对来讲对Borland的支持就要弱一些了。
跑去华强北买了个TP-Link的无线路由器,只是觉得好玩,其实完全是多余和浪费。最多只是少了一根线插到电脑上而已。 以前在学校的时候,还以为路由器是好大一个机器,后来见到过一个同学拿来一个小盒子,才觉得好笑。不过再想想,更早些的时候不也认为交换机是好大一个设备嘛,后来去电脑城跟同学装电脑时,看到8口的交换机也才200多块钱,而且那都是快5年前的事了。昨天去帮公司一同事MM搬家,偶然间谈起说她有个无线路由器,当时觉得她好高档哦,呵呵。 买回来后,飞快看了一遍它那薄薄4页的说明,很简单,然后就把原本插在电脑上的网线插到路由器上,打开无线网卡的网络连接属性,搜索一下,再通过Web登录上去设置一下。因为本来就是一个交换网络里了,再设置时,选静态地址分配,并把默认的路由器IP改掉,不跟交换网络的同一网段就行了。因为要用eMule,所以还要设一个转发选项。另外就是,一切正常了,可以加个密码,免得让其它人家的人偷偷使用我们的带宽,呼呼。
没有解决,还是老样子,只知道它是要把那几个dll复制到系统目录下,把npf.sys文件复制到drivers目录下,然后安装系统服务。至于到底最后做了哪些处理,也不得而知,反正我是把网上找得到的说法都试过了,都没用。当然很多是针对3.x版本的处理,我用的是4.0版,也尝试过反编译它的安装文件,反汇编它里面一个dll文件里的导出的函数,但最后还是没有什么进展。暂时放弃了,郁闷。