[原创]半月总结

来源:互联网 发布:淘宝上耐克有正品吗 编辑:程序博客网 时间:2024/04/30 22:40

       明天同仁们就要去旅游了。最终我还是选择不去,一来最近手头紧,凡事要节约,二来身体不适,想多休息一下。虽然放弃了与他们增进感情的机会,希望以后补上吧。

       这半个月来进入了一种好久没有的状态,每天白天就像上紧的发条,全力以赴,晚上确只睡67个小时。弄得同屋的同仁惊叹,“你怎么会有这么大的精力?”其实这两天下班之后便有一种特别疲惫的感觉,只不过第二天依然要保持精神百倍而已。

       我不是工作狂,只是来到这里发现了太多不回的,太多要学的,太少可做的,除了工作和学习。我已经一个月没有打球了,肌肉都松了。唉。

       来到这里,首先了解公司的情况,然后分别学习公司的管理和技术。管理对新员工来说当然听起来比较泛泛,公司也不会舍得细讲,更多的是一种说教。但是即使在这样的一个情况下,我依然发现了闪光的地方。比如公司的开发流程规范,对前期设计的重视,产品-项目-模块的概念,质量保证体系,专利意识以及知识管理体系,都是我以前做没有接触到,或者无法深刻接触的。当然,这些东西一般都比较抽象,而且往往说的都比做得好听,所以具体如何做到的,还有待我日后真正进入项目后通过自己的工作实践才能体会。不过我对此方面兴趣特浓,在此许下心愿,日后一定要在实际的工作中对该方面的理论知识和实际操作多加学习体会。我一直希望能够在自己的脑子里建立一个产品-项目全景图,从宏观的方式来看待产品-项目,让我以后看的更清晰些吧,阿门!

       剩下就是技术了。

       说来好笑,技术对我形成了巨大的挑战。

       为什么有挑战,因为我要面临太多的转变!

       我以前工作在win下,而以后我需要linux了。

       我自从大二过了3级便与C说拜拜了,之后一直java ,C#,而在这里,我要大声地对C说,我爱你!

       我以前一直在从事web应用的开发,而现在我要看指针了。

       我以前做得程序最大的就是那个计数器,要求最苛刻的也是他。但是那个计数器有多少不完善我知道,我想改,但是公司不让。而在这里,我们的程序要在服务器上作7*24的运行,不能有一点点错误。

       我以前的合作者是非计算机专业,而我今后的合作者更多的是计算机专业。

       太多的转变,太多的不确定。不过我还是打算试试我自己能耐。虽然我曾经想要要求去做java的项目,不过也许此时用C更能使我加强基础。我愿意尝试一下,我不服。

       今天演示了一个同仁的程序。那程序写的真不错,可就是有4个地方由于函数是malloc的空间,他不知道,没有free,结果程序运行起来很快就占用了70兆内存。也许我以前写web从来不用注意这些,也没有什么重要的,但是这里不一样了。

 

       下面说一些真正的技术总结吧。

1、  做人要做T字形人才。

2、  程序要做到简单,简单的程序给机器看,效率高。明确,明确地代码给人看,可读性高。

3、  指针多大?不确定,和机器有关。

4、  if(0 == buf)更好。

5、  程序中出现的常量要全部提取出来。比如,如果声明char buf[512] 的话,就不如写成#define BUF_SIZE 512      char buf[BUF_SIZE]

6、  char *p,const char *p,char const *p,const char const *p是完全不同的,具体如何不同见C++ primer

7、  区分funcprocedure的却别。虽然现在这两个已经在大多数语言中融合起来了,不过区分它们的却别还是对我们理解程序的行为有用。同时,还可以提示我们要管理好函数的返回值。

8、  继承不要超过五层,否则检查设计,超过五层的肯定应该调整为组合。

9、  让代码说话。程序本身风格应该清晰易懂,很多东西可以通过程序本身说明,比如遵守coding standard。只有在程序本身表达不出来的时候,才采用注释补充。但并不是说有了注释,我们就可以忽略程序本身的可读性。最好,让代码说话。

10、              函数出口不要太多,否则去理清逻辑

11、              右移除二,左移乘二。

12、              代码审查委员会。如果你要让你的程序员在编码的时候遵守一定的规范,那么,你为什么不去审查他的源代码呢?如果你只关心程序的运行结果,那么有人关心编码规范吗?如果你只关心结果,那么谁关心过程?没有过程,哪有结果???

13、              只包含必要的includes

14、              好多事情总是成对的,open就记得closemalloc就记得free。脑子里要有根弦,否则死的很惨。

15、              const unsigned char *words=argv[2];是错的。

16、              一些常见内存管理问题

1)、内存泄露。分配的内存没有及时释放,或者是在运行过程中丢失了其指针。

2)、越上界访问动态分配的内存空间

3)、越下界访问动态分配的内存空间

4)、同一内存释放多次

5)、访问已经释放的内存。已经释放了的内存的指针称为悬空指针,对于此类指针一般赋予NULL值,而在用之前首先检查是否指针为NULL

17、              协议三要素:语法,语义,数据。

原创粉丝点击