--笔者入职以来的总结
对于新员工和刚刚毕业的学生来说,初次接触到新的项目时,首先要做的工作就是阅读已有的项目源码。如何阅读,特别是如何高效地阅读源码是一个困扰了许多人的难题,笔者结合自身经历对这一问题进行了初步的探讨。
1 在读源码时,我们在读什么?
这个问题似乎很容易回答,阅读源码就是阅读代码呀,难道有啥玄学存在吗?非也,笔者以为,阅读源码至少应关注以下几点:
a 代码本身,实现一项功能的流程。这个没啥说的,这是根本。
b 代码的规范,包括缩进原则,变量命名原则,团队约定的一些规范等。
c 项目的总体情况与细节实现,这伴随着阅读代码的过程逐步加深。
d 对自身编码技能、思想的检验与提升。看好的代码有助于自己养成良好的编码习惯。
e 与团队成员的沟通、认识、交流。
2 高效阅读源码的方式
a 善用工具
这里的工具包含了很多内容,调试工具(如gdb,windbg),内存检测工具(如valgrind),源码分析工具(如结构分析工具SourceInsight,understand等),集成开发环境(如QtCreator中集成了许多十分方便的插件)。对这些工具的熟悉将极大地帮助以后的开发工作,总之,善用佳软。
b 勤于思考
一般来说,带着问题思考一件事物是最佳的方式,阅读源码亦是如此。刚开始接触新的项目时,先想一想这个项目的目的是什么?如果是你来实现,你会怎么做?整理出大致的思路后,再去看待工程源码时就会清晰很多。
随着理解的加深,我们会对一个具体功能的实现充满兴趣,这个时候先以自己的认识思考这个功能应该怎么实现,当然,不是说闷着头想,应充分的借助网络的力量,善于搜索,然后再去阅读项目的文档、源码。这样不仅理解得以加深,更锻炼了思维。
c 注意交流
在阅读源码的过程中,难免遇到自己不理解的地方,这个时候与团队成员的交流就显得十分重要了,此法方便快捷有效。
d 时刻总结&记录
工作是忙碌的,人往往是健忘的。当理解了一个组件的设计时,及时地记录下来十分重要。遇到问题时也应记录下来,这样等到请教同事或者上网搜索时也十分方便。
e 具体实施
仔细阅读文档(若有)。
边读边注释。
边读边绘制UML,顺序图,类图。
通过Debug跟踪程序流程。
对类的理解:类在继承链中的位置,类的成员变量,对外接口,设计模式。
对于C++来说,要抓住类、对象间的关系。重点在类的构成、类的关系和执行流程上。
理念:先宏观(结构)后细节(实现)
3 如何快速融入项目开发?
这个目前笔者还不具有实际经验,以后有机会再分享。
4 个人对程序开发的理解
程序设计是一项智力创造的活动!设计程序的过程就是开发者将自己的思维实现的过程,唯有全面、严谨的逻辑思考才能开发出高质量的软件。
当然,对于笔者这种刚刚从事这一活动的童鞋来说,这也是一个培养自己科学思维的过程,这一过程可能很慢,因为它要打破旧的思维,建立起新的思考方式。
程序开发并不枯燥,每个人从事自己喜欢的事情时从不会感到枯燥。但是当下的社会,舆论环境导致了目前所谓的程序员呆蒙的状况。
对于开发者来说,最重要也是最可贵地一点就是时刻面临着新的任务、新的技术、新的挑战,这些激励着开发者不断地去学习新的知识和技术,未来人工智能可能会替代很多工作,但类似于程序员这类需要极大的创造力的工作永远不会被替代。
网友评论