大多数情况下我们每天都在编写业务代码,毕竟公司需要靠业务支撑。
但是我们不能单纯的以完成业务为己任,而要在业务开发过程中竟可能找机会提升自己。
例如:
关注代码架构
很多时候我们讲快速迭代,代码做做加法,加个if else,需求就搞定了,长此以往,不仅技术能力没有进步,也会慢慢丧失我们的代码设计能力。
所以,我们可以考虑:
1. 是否可以抽取共性的东西,通过模板模式完成大多数重复的流程;
2. if else 是不是可以通过一个工厂模式简化;
3. 增加功能是不是可以考虑组合的方式完成,更加有利于复用;
...
这样的能力如何能培养呢?
学习开源库源码,吸取其精华的设计部分,有必要甚至抄写下来,照葫芦画瓢也可以,慢慢的就会形成自己的知识储备。
关注优化
优化是一个经久不衰的话题,而且需要周期性的去做。
在这个过程中,除了写好代码外,我们需要学习各种检测工具的使用,学习各方面的最佳实践,总结一些错误的写法。
必要时也可以冒险尝试做一些非常极致的优化,我们的开发项目就成了最好的验证工具。
关注NDK
对于NDK,正常情况下不需要关注太多,但应该有基本的JNI编写的能力,有线程的c/c++实现的算法,我们有能力写native方法进行接入。
有了这方面能力,对于很多技术的选型就会开阔很多,而不是仅限于Java层。
很多优秀的算法,可能别人提供了C的实现,那么就需要我们构建so,编写jni层代码,在图片处理方面这种情况尤多。
这里给大家准备了一系列的免费直播/录播课程,包含以上3个方面内容,希望对你有用。