一只菜鸟从C#转向Cpp的Mobile开发之两周经历 续 三四周情况

人倒霉没办法 刚刚写完后 不小心按了下f5 又白写 --#   我的情况有些伙计知道了咯 现在我来通报一下三四周的情况 合起来就是我工作的第一个月的情况 希望能和大家交流共勉 继续努力 希望对有相似经历的童鞋能有一些帮助

第三周小结
周一  上周终于完成了第一个项目,经过两天的消化,明显比刚开始接触MFC编程时要好很多,今天开始第二个项目—在一个原有项目的基础上进行扩充,增加配置功能。虽然目前做项目比之前熟悉多了,但是技术不全面基础薄弱的弊病立刻曝露出来,首先为了项目能够运行知道了部署设置的附加文件方法,但是在为新项目添加新的窗口的时候却遇到资源配置出错的问题,之前从没遇到过这种问题,折腾了一天未果,于是开始深入研究 。

周二 资源文件出错的问题仍未解决,但是对于资源文件的结构,vs平台下的资源管理方式有了一定理解,并且可以手工写资源文件了。临时建立了一个新的项目,开始做配置窗口,之前是把配置窗口作为重点,但是开始实施的时候却发现工具栏的实现要比之前复杂,然后学习工具栏设置的函数体,创建方法,并且结合之前学习的资源文件相关知识,终于可以建立好工具栏,并且再次理解了事件处理的实现方式和系统的消息机制,对于程序的理解掌握比之前更加灵活。

周三 今天发现我的配置窗口控件使用错误,跟我原来想的完全不同,差别比较大,项目又一次陷入困境,网上有人说用ListBox,有人说自绘,但是我在尝试控件的时候竟然发现ListControl完全符合我的需要,只要使用report模式即可,而且控件自动采用类似于KEY-VALUE的形式,通过对于msdn的查询,很容易掌握了其使用方法,并且通过网络资料得知,ListControl的功能远超乎想象,使用起来极为灵活,这倒是完全没想到的。然后很快做了增加项窗口。另外资源文件的问题解决了,是VS的bug,通过手工修改rc文件解决。

周四 今天开始完善增加项窗口,但是在对于不同窗口操作时的逻辑方面除了很多问题,走了弯路,但是通过今天的教训,对于句柄,系统底层的运行原理的认识有了很大提高,对于mobile中的toolbar,以及VC++的一些特性有了全新的认识,感觉是很有突破的一天。

周五 今天开始进行程序的最后一部分,对于配置文件的保存问题。配置文件保存通常有三种方式,一是注册表,二是文本文件,三是xml,对于注册表方面考虑到容易对系统造成垃圾而暂时不考虑,首先考虑文本文件。在网上得知MFC中有专门操作ini文件的函数,但是后来证实Mobile中并不支持。于是手工写文本,但是在读写文本的时候遇到了很麻烦的问题,估计是因为Unicode的缘故,编写的过程强烈感觉到了xml及ini配置文件存在的好处,之前并不是好理解,但是现在明白了。之前打算添加数据直接写文件,但是流程太复杂,还要考虑删除的问题,于是改为每次退出程序时保存新文件,打开时载入,就是有一个缺点,如突然断电的情况,则新添数据并未保存。手工写文本文件的问题仍未解决,字符串操作学到了一些,现在打算考虑使用xml作为配置文件。

 本周写程序比之前熟悉了很多,也顺手很多,大概可以摸着石头过河了,本周最大的收获在于对系统底层的理解加深,弄明白了很多之前不明白的概念机制,所以用起来更顺手。但是我也同时发现,困难是永无止境的,也不可能奢望困难会比以前简单一些,甚至也许一天是这样,两天也是,今天也是,明天也是,但是我已经做好了和困难作斗争的准备,我不会奢望今后面对的情况会比今天好,但是我会努力让自己做得比今天更好。


第四周小结
周一  上周由于字符集的问题导致开发进度受阻,考虑使用xml作为配置文件。但是经过几天的研究发现,SAX暂时没时间学习,DOM的话微软提供的MSXML需要一定COM知识,而目前网上流行的TinyXml引擎却不支持Unicode,而且是我写好代码之后才发现的,因为时间关系来不及再做修改,虽然还是未采用XML存储配置文件,但是在这个过程中我却深刻体会到了XML用于数据交换的优越性和便捷。最后经过与别人交流,一般仍是不建议采用注册表方式存储配置,所以我只能重回到最初的路上,分析字符串。

周二 关于字符串转换的问题我做了一些思考,有了更深入些的理解。不同字符集中对应的字符不同,归根结底为对应的整数,不同字符集之间的转换其实就是整数的加减然后再映射到相应字符集。因为对字符操作能力火候欠佳,我在网上找到了一份用于字符操作的cpp文件,仔细阅读,然后进行了扩充修改,经过试验,在修改方面还有个bug,但是对于我目前的项目来说完全足够,项目的配置文件存储问题就此解决。

周三 今天开始做一个类似于WinMobile自带的配置窗口的界面,因为对于List Control有了了解,觉得它和Tab Control搭配可以达到需要的效果,做的过程中对于各种控件窗口的位置大小方面较为困扰,尚未找到更有效率的方式。界面很快就完成了。不过我把两个任务做到一起了,后面又进行了分离。

周四 根据项目的需要,优化了文件存储读出的逻辑,保证了数据的稳定性和一致性,并且更简洁。然后开始解决项目的一些细节问题,并且学习了析构函数的一般实际使用习惯。并且再次领略了win32编程的一些奥妙,了解了窗口销毁的过程,WM_InitDialog和WM_DESTROY等消息的使用技巧。今天交项目的时候才发现我对于项目需求的理解有偏差,并且两个任务都是。第一个任务需要修改主程序,导入配置,第二个任务需要使用单文档窗口。然后开始了紧急修改。

周五 第一个任务的修改一波三折,不断遇到问题,幸亏对于多线程的理解比以前强多了,修改中遇到的最麻烦的问题是线程的同步问题,原来的项目并不需要考虑,但是修改的项目要复杂一些,我尝试使用自己创建的事件来进行信号控制,虽然理论没问题,但是实际总有偏差,最后采用了互斥对象才终于完成线程的同步,期间还遇到了很多危险隐蔽的bug,实在惊险,对于线程操作真是需要小心谨慎。另外发现线程的跟踪也比较麻烦,这个需要向别人请教一下了。
 本周写程序感觉到了不少乐趣,尤其是解决了字符串问题和解决线程同步问题的时候。一个月的时间真快,回顾一个月前感觉确实学到了不少东西,虽然困难出乎意料,但是进步也是出乎预料,明显感觉学到的知识层次远深于在学校的时候,对于原理性的东西多了不少了解,很令人兴奋,并且我很高兴,没有被前期的困难压倒,今后我更要努力。不过本周我犯了一个观念上的大错误,接到两个任务的时候我是当做在学校时的练习项目的态度来对待,并没有严格按照“实际产品”的理念来操作,后来经过提醒才醒悟。,我今后一定会纠正态度,严格要求自己,保证自己用做产品的理念来做好每一个项目,养成严谨规范的思维作风。


不知不觉一个月过去了,感觉日子过得越来越快,头两周第一个项目出来的时候感觉快要死掉了,大脑严重超载,过了三四天才消化掉.后面的两周情况比之前好些了,而现在更加好了,很高兴我每天都能学到东西.刚开始很担心忧虑,现在好多了,感觉发展可以进入正常轨道了,就算再困难,第一步都走出来了,后面的一样可以走过去,在学生大本营上肖舸说得好"憋住一口气".这段时间主要靠搜索 提问 看书,有个叫baigoogledu的网页很有意思--  大家知道还有啥类似的没?很方便 具体的技术细节我就不提了 提一下几本书 一个是孙鑫的书和视频 一个是Visual C++开发经验技巧宝典 ,不过Visual C++开发经验技巧宝典 好像没有电子版,我在csdn上看的试读版,内容也不少,又去学校图书馆借了这本,侯捷的深入浅出绝对是经典,绝对不过时,膜拜,华人书籍感觉如此经典的不多呢,作为一本技术书籍竟然可以坚挺那么久.<疯狂的程序员>也看完了,强烈推荐,厕所必备.

昨天和公司续约了,经理说希望我毕业后留在公司,实习合同直接签到了明年毕业,补贴1000+午饭,终于松了口气,暂时不用担心工作的事情了.得到了公司的肯定,真的很高兴,感觉这一个月的努力没有白费,后面还要继续努力.现在我开始帮头儿修改一些技术含量不高的程序,也可以不断学习,公司的环境也蛮宽松,欧美式管理,感觉很好.真的很羡慕头儿和网上的各位,高手真的太多了,虽然我现在相差很远,但我会继续努力走下去,毕竟现在的方向感比在学校时要清晰很多了,就以各位为方向,努力认真走下去,希望能和大家共勉.

最后弱弱地问一下,公司的补助一般是每月啥时候发呢?偶滴饭卡已经没银子了```今天中午就成问题了````公交卡也开始告急````还有手机卡````房租 --#  my god     

posted on 2009-11-10 11:24  Evalon  阅读(624)  评论(13编辑  收藏  举报

导航