新人实习一个月来的总结

来源:互联网 发布:python 压缩文件 zip 编辑:程序博客网 时间:2024/05/05 21:05

        刚来公司那会,公司直接给了其主要产品的所有上层代码,加起来,30+个工程,700-800个类,总代码有150W行以上,于是前2个礼拜,我就一直在看代码,当然其中有一点小的bug修改也交给我做。由于在学校中懒散惯了,看代码看的我欲仙欲死,改bug的时候也是被我的主管大批,现在总结看来有几点吧,也算是给后来人一点建议。
 

1,代码太多,接口不明显的情况下,果断F10,F11单步调试搞起,虽然可能会按几万次程序才启动起来,  但不要怕,因为其他的做法(如盯着代码看啊看的)比这几万次带来的代码解析效果要差得多, 期间多注意函数名就行,因为大型的工程,函数名必然相当规范,只要你英语还行,基本就知道它是干嘛的了。多看调用堆栈,注意函数调用和类继承的层次关系,至于函数实现可以先忽略。有些地方可能是固定结构,只是你没有这方面的知识所以难以理解。消息响应和回调不必太过纠结,大工程中对于其实现有些部分是隐藏的。大工程中自定义宏肯定多的要死,尽量先从英语意思去理解,有的宏定义了多个函数甚至一个类,这些宏一定要跟踪过去看,然后最好记录一下,这样下次看就不必纠结了。至于UI,一般都是其他专业的UI人员做的,很可能是独立的,在接触到这类代码的时候,最好问问别人,MFC的知识是不管用的。还有就是不要老在看代码,看累了就出去走走,休息下,看代码不是一般的累。

 

2,编程中,工具一定要好,没VA你就别用vc了,编死你,而且可读性差。根据公司的产品类型,虚拟机啊,服务器啊之类的需要装就装吧。MSDN是必须的,如果你的公司有自己的API的话,一定要在自己的电脑上考一份,没事的时候就多看看,看代码的时候就会有灵光一现的效果了。用一些简单点的数据库读取软件。电脑必须好,内存,cpu必须跟上,不然运行一下等10分钟任谁也受不了。如果你英语还不是那么牛,好吧,就算你英语牛,在计算机术语面前也无解,配备一个翻译软件吧。好吧,csdn,google这些网页就常开着就行,有事搜一下。然后在你的桌子上放上2,3本专业书籍(如vc++技术内幕之类的),就完美了。

 

3,编码中,一定要规范。命名必须用西班牙命名法,变量一定要能看出类型和作用,函数中注意是输入还是输出参数,输出的一定要加OUT宏,还要注意整体方式的一致性,例如如果其他函数都是用参数输出的,你就别写个0参数的返回需要值的函数。不要怕变量或函数名长,有va在的话,再长也是一键输入。注意隐藏常量数据,一般数据不要出现在代码中,如_T("小明")等,数据一般都要保存在数据库,xml或自定义保存文件中,然后专用一个.h文件读出存在全局变量中,当然根据具体情况局部变量去读也是需要的。如果数据实在是要出现在代码中的话,也要用宏定义一下,放在类的开头,这样容易改,且数据能集中起来。

 

4,我用的是vc6.0,虽然用了2,3年了,但对其功能的发现程度还是不够的,vc6.0中还有很多功能是我们主管教我的,如最简单的,在Watch里,以前看字符串总是要开个Unicode码表,然后找几个关键地方的码看一下,后来才发现原来在Tool-》option-》debug里有个Display unicode string 选项,勾上就能直接看unicode串了。其他编译器也是一样的,一定要熟悉要自己用的编译器,最好把所有功能都玩一遍,这样编程起来就能事半功倍。尤其是编译器要与其他一些工具连接的时候,经常会出错,如果把时间浪费在编译器的设置上,那就真不是个合格的程序员了呢。

 

 5,关于技术。时下流行的vc编程无疑是com技术,刚来实习这会完全不知道这种东西,dll虽然用的比较多,但dll比起com来实在是太简单了,只要import和export就行了,其他和普通的程序代码没什么区别,而com,尤其是在vc中用com,要自己写智能指针,还要关心各种隐藏addref,公司更牛,直接从IUnknown开始全部都自己写,这样addref的问题就轻松了,但各种聚集和包容的问题看得晕的要死,到现在看了3部关于com的书了,但要实际用起来还是很困难的,只能在边看边实践的过程中,慢慢熟悉起来了。以前看com基本是无字天书的感觉,现在基本有个概念了,也就比较顺畅了,所以说学习一门技术的话,不要再开头就退缩,坚持再坚持就会发现其实就是一层窗户纸而已,一旦捅破自然一通而百通。当然,精益求精又是另一种境界了。

 

       一个月来感觉自己学到的东西很多,当然很多部分是应用层面的,我不敢说比学校的要好(因为学校是教基础知识的,基础或许更重要),但我的感觉是在实践中我的技术更加完善了,以前自己编的程序常常会无缘无故的crash掉(各种内存或指针的问题),现在基本上写程序就会把所有的细节都考虑到。可能是在主管的不断叫我重写中练就的吧,呵呵,毕竟实际的产品不允许有丝毫的差错,甚至还要考虑安全性,代码的保密性问题。

原创粉丝点击