不然你要我怎么样

彪悍的代码不需要注释

Archive for the ‘Work’ tag

阶段性总结

one comment

一个图像处理被我做了一个半月。。。但是,终于做完啦!哇哈哈哈哈!

简单总结如下:

一. 内存越界

C语言这个缺陷真是被我发挥的淋漓尽致。。。调试过程中无数次的system halted,我被折磨的死去活来~每当PC指针跳转到0×10我就知道:完了,又完了~

结论:1.最好了解系统的内存管理机制。至少,你要了解不同系统malloc的实现方式;

2.仔细考虑内存大小,假设最坏的情况下需要的内存分配情况;

3.如果实在不能确定。。。那就多分点吧。

二. 全局变量的使用

其实这个问题和数据结构有关。设计一个好的数据结构可以大大减少全局变量的使用。

结论:1.最好少用全局变量;

2.如果要用。。。能加static就加static;

3.检查每一个对其赋值的地方;

4.注意初始化。在循环调用的时候记得清零。

三. 算法&数据结构

长久以来我一直有点忽视这个问题。。。在我看来,一个好的算法可以有效的提高效率和节约空间~而一个好的算法会自然而然的要求一个好的数据结构。。。

这是不是和面向对象的思路有点相反?-。-||| 好啦我也承认一个好的数据结构可以使你的算法清晰明了。。。

这个问题很相辅相成~

结论:1.根据你的功能需求灵活的确定实现方式:要速度,要空间,还是要稳定?

2.程序的扩展性始终是考虑要素之一,设计灵活的数据结构可以让你简单的增加功能。

3.有效地拆分模块并定义接口。

4.Debug

一个半月里至少有3/4的时间都在debug,前期没有一个好好设计过程,出现问题就会感觉一片混乱。

结论:1.遇到问题首先要做三件事:思考,思考,再思考;

2.多用ASSERT,多用PRINTF,建立完备的出错机制;

3.不要太依赖调试工具。很多时候它只会让你效率低下;

4.记得注释。因为很可能几个月后,会有一个笨蛋面对你的代码感到一头雾水。。。。。。而且一般情况下,那个笨蛋就是你。

总结over。

本年度还有一天年假没有休~而单位的同事好多都是七天没有休~下周上班,公司会不会就没什么人了?

新的活,又会是什么呢~拜托不要再像这一次这么纠结了!

转载请注明: 转载自不然你要我怎么样
本文链接地址: 阶段性总结

Written by xiangmocheng

十二月 7th, 2008 at 1:26 上午

Posted in Life

Tagged with

Just do it

leave a comment

应该养成总结的好习惯,所以,I’m back。

今天:

第一次通过Mail和电话同台湾的同事沟通。之前有点担心,因为我很害羞。。。不过工作需要我也豁出去了。。。

觉得自己mail写得不是一般的烂,沟通能力也是……还好对方很professional,很快就给了我想要的结果,然后问题也解决了,很好。

前几天:

完成了一个小工具。SW的主管check后给了些建议:

1、为每一个job单独建立线程

2、注意按键的屏蔽

3、软件的设计要注意通用性

觉得问题的关键还是出在自己没有经验,什么东西都是想当然的去做,没有和leader做好的沟通,也没有一个spec去参照和设计。

其中遇到了存储的问题:

在VC中全局变量的大小似乎不能超过1M。这让我想起了全局,局部,静态等数据的存放位置问题,网上说的乱七八糟~这里摘一段我觉得还算正确的文字,其实应该好好查下书:

一.在c中分为这几个存储区

1.栈   –   有编译器自动分配释放

2.堆   –   一般由程序员分配释放,若程序员不释放,程序结束时可能由OS回收

3.全局区(静态区),全局变量和静态变量的存储是放在一块的,初始化的全局变量和静态变量在一块区域,未初始化的全局变量和未初始化的静态变量在相邻的>另一块区域。-   程序结束释放

4.另外还有一个专门放常量的地方。   –   程序结束释放

二.在C++中,内存分成5个区,他们分别是堆、栈、自由存储区、全局/静态存储区和常量存储区。

1.栈,就是那些由编译器在需要的时候分配,在不需要的时候自动清楚的变量的存储区。里面的变量通常是局部变量、函数参数等。

2.堆,就是那些由new分配的内存块,他们的释放编译器不去管,由我们的应用程序去控制,一般一个new就要对应一个delete。如果程序员没有释放掉,那么在程>序结束后,操作系统会自动回收。

3.自由存储区,就是那些由malloc等分配的内存块,他和堆是十分相似的,不过它是用free来结束自己的生命的。

4.全局/静态存储区,全局变量和静态变量被分配到同一块内存中,在以前的C语言中,全局变量又分为初始化的和未初始化的,在C++里面没有这个区分了,他们共同占用同一块内存区。

5.常量存储区,这是一块比较特殊的存储区,他们里面存放的是常量,不允许修改(当然,你要通过非正当手段也可以修改)

再前几天:

做的是之前留下的工作:boot的启动问题。根本原因是压缩镜像的解压太慢,这个应该要找sigmatal。现在似乎交给另一个人做了。

Over。

转载请注明: 转载自不然你要我怎么样
本文链接地址: Just do it

Written by xiangmocheng

七月 16th, 2008 at 11:28 下午

Posted in Life

Tagged with

工作总结

leave a comment

最近做的就是一个文件系统的测试,还是学到了不少东西,对测试有了些初步的理解和思考。不过拿的是我的mp3做磁盘测试,心疼死了~

25号公司办了尾牙会,去吃了顿,发现自己还是不会酒桌上的那套,整场像个傻子坐在那里。。。还有抽奖,我们BSP这桌运气超级差,就一个人中了300块,后面HW那桌几乎各个有奖,还都是2、3K。。。

最近主管对我很和蔼~然后我就对他说我请5天假~回家了,哦也!

转载请注明: 转载自不然你要我怎么样
本文链接地址: 工作总结

Written by xiangmocheng

一月 30th, 2008 at 12:05 上午

Posted in Life

Tagged with