代码移植的一些感想

最近一直在做一些代码移植的工作,先是把一个ARM平台Demo中的部分功能移植到MSP430FR5529上,后来又做了一些Android代码的移植。结合我自己的工作经历,谈谈感想。(๑•̀ㅁ•́ฅ)

我记得本科时候有一门课叫做《智能终端应用》,主要是讲Android平台APP开发的,应该算是本科期间对我影响比较大的一门课吧(•͈⌔•͈)。有次上课老师说过这么一句话,其实大家写代码都是抄来抄去的,你们现在读书的时候是这样,以后工作也是这样,我对你们的要求就是,给你一个开源的APP(我记得当时老师打开了一个Google的什么网站,上面都是开源的APP),不要求你全部看懂,但是你能够按照要求完成移植,做出想要的结果,能做到这个就可以了。ଘ(੭ˊ꒳​ˋ)੭666✧

对此我深表赞同,无论是语言、环境或者IDE等等,甚至于计算机这个东西,我们使用它的最重要的目的就是解决问题,提高效率(当然打游戏什么的又是另外一回事)。所以如果有什么需要我就去学相关的东西,学的目的就是为了解决问题,而移植就是一种学习的途径,这个和抄作文不一样,这是开源精神的体现(:逃

好吧,好像写的有点多了〣( ºΔº )〣

归纳一下,移植过程中一些注意点:

1.首先你得明白客户需求,你得明确你要做出什么样的功能。一般来说一个Demo里面都会包含很多功能,不建议一次性移植所有功能,要一个一个来,先把最核心的功能移植过来,然后再慢慢优化,添加一些其他的功能。在添加的过程中你甚至可能会改动原Demo的代码架构,写出适合你的代码架构,当然这些是后话了。

2.明确需求以后,你要去想一下该怎么整(“整”这个词是从学长那里学的,感觉很拽(ง∩_∩)),这是很重要的。你要去想一个可行的做法,包括该学哪些新的东西。

3.这是对2的一个补充,你需要对Demo有一个Overview,知道这个工程的框架,哪块代码分别是做什么的,然后再挑你觉得重要的代码进行细读。

4.移植的过程中非常容易出现走弯路的情况,这会耗费大量的时间与精力却收效甚微。不过哪怕走了弯路也不要害怕,及时纠正过来就好。我觉得移植的过程中很容易犯的一个错误就是急用求成,想一口吃掉,这样反而效果不好。

写得有点杂乱,而且口语化。今晚与一个技术很NB而且人又很nice的学长交流,结合自己的一些经验,写下一些东西,希望能给他人提供一点启发,同时也欢迎留言指正。

杭州萧山

2018.1.5

你可能感兴趣的:(代码移植的一些感想)