第一次接触工程代码

Posted 嵌入式Max

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了第一次接触工程代码相关的知识,希望对你有一定的参考价值。

话说毕业工作时长已将近两年整,7.9 号过完就是整整两年了。最近也是在熟悉新的工作环境与工程代码,对于庞大繁杂的代码系统来讲,怎么去熟悉还是一个很糟心的事情,说到这里就又想起来最初接触工程代码时候的感觉。

在学校时候的代码都是若干个文件就可以搞定的,一个就算是稍大点儿的工程,纯粹自己写的核心文件不会超过 20 个文件,其余都是工具性的东西,很简单的,涉及到核心功能、架构相关的也就那么几个文件而已。

但是工作最初遇到的工程代码让我心头一紧,这个还不是很多,安卓的代码会更多,并且我接触到的也只是嵌入式的系统代码,我估计做纯互联网编程的,代码量会更加的多。我第一次钻研系统的代码之时,总是感觉整个系统的代码就像是一个庞大繁杂的交通网络,你看懂了、搞定了这部分的代码,然后发现一个接口就给你引入了另外一个陌生的交通枢纽,那部分搞懂了之后又会发现有那么几个不起眼的函数给你新增了更多的新的未知领域。

但是所幸,那部分代码还不是特别的多,我用了半年多的时候连抄带猜带自发实现地把我负责的部分代码主干撸了一遍,有些功能性的东西我就留了个接口在那里,里面打印出来一句话就代表这个功能完成了,主要是领会整个的软件主体结构。

再后来一个技术前辈告诉我,你这样学习代码会很累的,以后接触到的系统代码量会越来越多,一点一点都全部撸一遍显然是不太现实了,你需要学会看代码,画顶层设计,然后理会代码的设计精髓,无需细节全部都撸一遍,那样效率太低,至今我深以为然。

但是仍然会有些问题,就是以我的经验,一些代码,一个系统,如若你不亲自去用写代码的形式去实现一遍,你会发现总会有些细节你是会遗漏的,总是会有些知识点是覆盖不到的,总是会有些技术盲区在。而一旦你把代码给亲自实现一遍之后就会发现,哦,这里这样写是这样子的原因啊,这里多出来了些看起来莫名其妙的操作是因为这个呀,至如此类的。

现在接触到对自己来说基本上是全新的系统,安卓对我来说是半全新的,C++ 对我来说是全新的,骁龙8XX系列的架构对我来说是全新的,camera 代码里面的诸多抽象对我来说也是全新的,总之,啥都是新的东西。

这个时候,熟悉代码又是一个与之前类似的过程,虽说已经掌握了一些软件设计上的概念与方法,一些抽象方法是一脉相承的,在现在的代码系统里面也是可以找到一些相似之处的,但是毕竟环境各种模式,代码看起来还是颇废不少力气的,目前也只是做到提纲挈领,熟悉下代码之间的联系方式以及若干概念而已,但是稍稍深入一些的东西还是有很长一段距离要走。

哈,这里没有很好的方法论,因为我也是在不断的摸索当中,无法做到总结出方法论的程度,算是个自我吐槽与过去总结吧,新的系统还有待我继续去冲一冲,把不同模块之间的写作方式搞搞清楚,知道怎么设计,怎么去使用,怎么去 Debug,甚至达到怎么去修改现有设计的程度。


想做的事情就去做吧

以上是关于第一次接触工程代码的主要内容,如果未能解决你的问题,请参考以下文章

与TensorFlow的第一次接触

传统java web工程简介

2017.8.12

代码重构:函数重构规则

高级软件工程作业 No. 0x01

软件工程 最后一周课程总结