2011年9月的困惑

来源:互联网 发布:软件开发日程表 编辑:程序博客网 时间:2024/05/16 12:50
对于程序开发过程中的一些经验总结:第一,关于自我学习;首先是为什么要学习;
毛主席告诉我们:作为一名21世纪的程序员GG,如果不好好学习,将会是没有“钱”途滴,技术更新是一天一个样;
如果说有了一点点程序功底,有了一定的设计经验,所谓的“开窍”了,就可以扩展自己的知识面;
先说说我个人的情况吧,写出来,称一称自己的分量:
1,程序基础部分,数据结构掌握程度应该在50%的样子;
自我感觉是这样子的,对于数据结构的逻辑存储和物理存储方式,对于线性数据结构,链式数据结构掌握的还行,对于树形数据结构和图形数据结构没有概念,前面两种数据结构掌握了,可以满足日常的程序开发,可以在实践中找到用武之地,STL中的向量(VECTOR)、链表(DEQUE)、堆栈(STACK)、队列(QUEUE);WINDOWS类库MFC中的CXXArray,CYYList; JAVA语言中的数组,列表。所以说嘛,数据结构是基本功来的,日常开发复杂一点的都需要用数组或者链表来存储数据。对于更复杂的数据结构,也可以在我们的开发过程中找对原型;比如MAP,SET。这些如果是做开发的话,找相应的源代码就能达到应用需求,如果要能够从原理和实现过程上彻底掌握,还需要多研究研究下。总的来说,数据结构有“半桶水”。
再来说说算法,说真的,算法平常都研究的少,需要大补,比如说排序的N种方法,就让我汗颜!有时间就补补。
还好日常开发中STL里边有算法的好多现成函数。
2,编程语言。
在学校里边,说真的真的,C语言考试的时候刚刚60分,汇编语言也刚刚及格。
可为什么一到社会上了倒是成了程序员,天天和这些C呀,C++呀搞到一起了,“哎,都是被逼的呀!”,“社会呀!”。
刚出学校的那一会,连指针是个啥玩意都不知道,如果那时候让我比较指针和数组的区别,那我会毫不犹豫的告诉你,"数组就是指针嘛!",太经典了,大学老师都是这么教我们的嘛!!
记得当时有公司面试题目是:“1+1等于几?”,我们还会楞上半天!可见当初当初的基础有多弱了!“往事不堪回事”!在找到第一份程序员工作前,拿着谭浩强的C语言程序设计,啃了半年,那时候超级迷茫,要做什么开发好一点呢?当时听说会VC的程序员都是超级牛人,就飘飘然了,牛人多好,我也要当VC程序员!
结果一折腾,WIN32API函数看的头晕眼花,上千个的函数,那时连指针都还没彻底搞清坨;
还彻底低估了C++语言的复杂性,一头扎到MFC里边出不来,成天晕乎乎的!还好那时没有工作可上,整天可以泡图书馆,非常感谢伟大的网络时代,我们的孙鑫老师给我提供了20集的VC从入门到精通教程,可以让我依样画葫芦,使用向导一步一步MFC,给我讲解WIN32窗口程序的原理,MFC设计的很多技巧,到现在我都经常看他的教程,甚至还从中间拷贝代码,"哼!拷贝代码不算偷!",侯俊捷老师的MFC深入浅出让从黑暗中看到了一点曙光,给我以前行的力量,要不然,早趴下了!就在浑浑噩噩中,消息映射,多线程,SOCKET,串口通信。
2009年是个好年份,在一家公司做VC了,那时候对程序和代码有一种强烈的陌生感,畏惧。
第二,对于程序开发的一些认识
程序开发已经两年了,每天MEMSET MEMCPY STRCPY,复制!粘贴!日复一日,年复一年!
第一点认识:学习是必须的,有时间就多到网上搜搜,踏着前人的脚印我再走一遍。
多看教程,多看书!核心编程呀、多线程程序设计呀、精通C++呀!
现阶段打算看的书籍有:COM本质、 从汇编语言到Windows内核编程。
打算搞搞WINDOWS下的ATL,先学习下COM的原理,先扎点子基础。
学习汇编指令系统,为以后驱动开发做准备。
第二点认识:多看视频教程。
网上的视频教程很多,可以针对自己要学的科目有针对性的找一些经典教程。
视频教程比看书要简单多了,软件的安装、配置和工具使用,视频上几分钟轻轻松松搞定。
经典的教程:孙鑫老师的VC从入门到精通,VC入门的上上之选!
孙鑫老师的JAVA从入门到精通,学JAVA的上路之作!
郁金香的驱动开发教程,可以很快学会上手驱动开发工具的设置和使用!
第三点认识:程序设计中经验的积累和知识储备。
日常开发中需要用到的东西很多,比如说ADO操作数据库,如果新手上路,从网上找资料,到最后实现一个DEMO,在应用到项目中,需要花比较多的时间和精力。调试到最后实现功能,没有BUG,是一个艰辛的过程!
可以设计数据库操作的类,在以后的开发中可以代码复用;
源代码中的代码管理,代码长久不去看,就会生疏,所以注释是必须有的,最好是很规范的那种,扫一眼,代码结构一目了然,在应用场合需要使用的时候也不会费神费力。
写写BLOG,总结知识点。 比如ADO连接数据库,数据库可以包括ACCESS,MYSQL,MS SQL,ORACEL,这些常见的数据库,如果在使用的时候就总结,下次就不需要重头再来一遍,多好!
比如文件的读写,文件的形式有:TXT文本格式, EXCEL表格文件, XML文件格式, CSV文件格式. 想用了直接COPY!
第三,现阶段的困惑
到底做技术好不好?专注于技术,还是从事管理岗位?
这辈子就做技术砖家,每天安安分分的上班领薪水?
你的项目在哪里?你有自己的产品吗?
如果30岁了,我还能做应用开发?如果35岁了,我还能做编码开发吗?
自己问自己:还没想好,我也不知道我的下一个脚印该踏在哪个门上。
明天我还会去公司上班,什么想法都没有。。。
 
第四,我的方向在哪里
专注于WINDOWS平台下的应用程序开发?
下一个工作岗位:WINDOWS驱动开发?
下下一个工作岗位:ANDROID应用开发?
 
 
 
原创粉丝点击