😔先自我介绍一下吧,本人一个Android程序🐶,由于本人学校比较nb(渣),提前就可以答辩,所以整个大四就可以该干啥就干啥,所以就提前找了个活干,可能是运气吧,顺利的进入了个留学公司实习,主要是负责Android端的软件开发,上来就成为了Android组组长(开个玩笑Android就我自己😝)。在此之前有在一个外包公司干了2个月,当时是合作开发,感觉很是轻松,但到了这个留学公司被告知是独立开发项目,开始很是紧张与彷徨,怀疑自己是否有这个实力去独立开发项目,但是干了几天感觉这个留学的项目没有什么难点,就逐渐的轻松很多。先说到这里吧,说说都犯了那些错误吧。
由于本人水平还是渣的要命,大神还是别嘲笑我啊~主要还是告诉和我水平差不多的人不要犯同样的错误啊!
1、接到项目时,建好工程后,上来直接就开始撸代码(强撸灰飞烟灭)。
额,这个直接导致我整个工程地基就出现了问题。
第一个麻烦就开始出现了,项目结构不清晰,想到什么就胡乱的添加,最后的结果就是乱七八糟的,自己看了都烦。
接踵而来的就是写布局的时候,定义各种颜色时都要“#333333”、“#ededed”,不停地在写。这也是一个低级错误。正确的做法是和UI沟通,把整个项目的风格定下来,在color.xml将所有的颜色都定义出来日后方便。
😔其实这些都是非常基本的,我却。。。。
因此从这些问题上我也进行了一下总结(应该是常识性问题)
拿到项目以后,把整个项目流程看明白,流程有问题的地方,及时去问项目经理,以免写错,先把项目风格统一,定义好颜色等等,把各个界面共同的部分抽取出来,写自定义控件也好,定义一下style也好,方便写代码,减少重复性。
补充一点就是:接到项目以后判断一下使用哪一种架构最合适,例如MVC,MVVP,MVP.这样就很好的解决项目结构混乱的问题。(最近刚刚接触MVP架构,有兴趣研究的可以看我这篇帖子 www.jianshu.com/p/2cfe1e087a95)
2、没有很好地做好封装
这个其实也是常识性问题,项目中用到的各种框架,比如网络请求,当时我用的xUtils3.0,其实代码已经很精练了,但是每个页面都有相似的代码,也是很。。。。
3、没有注意内存泄漏的问题
额这个问题其实从刚开始就应该注意,也是我项目做了一半才想起这个问题,在项目中引入了LeakCanary才发现有些地方写的出现了内存泄漏,而且不光是一处,我认为出现了内存泄漏应该及早处理,以免日后处理起来非常麻烦。
4、没有注意过度绘制问题
有的时候画界面,在嵌套布局的时候给父控件设置了背景颜色,子控件也设置了背景颜色,这个相当于一个房子刷了好几遍油漆,导致了过度绘制。。
5、尽量使用svg格式的icon
其实这个也不是什么错误,只不过使用svg格式的矢量图呢可以在减少apk文件大小有帮助,比如正常一个.png的icon 是400多k,用了svg格式的也就100多K。可以从www.iconfont.cn/(淘宝的图标库)下载一些icon,都有提供svg格式的icon.
6、Android开发环境配置好以后尽量不要去升级Build Tools 以及 ADT
这个原因是在合作开发中,要上传代码到svn 或者 git 上,如果升级build tools 的时候,其他同事在更新代码的时候,其tools不是最新版的话会浪费很多时间在升级。
这些都是非常非常基本的我认为,先总结这些,日后我还会增加相应的内容。
时间真的是飞快,转眼间大学已经即将结束,2016年我觉得是我经历的事最多的一年,也是学到的东西最多的一年,第一次经历面试,第一次面试失败,第一次靠自己的双手挣到钱,第一次项目上线。特别想说的一件事,其实我能从什么也不会到现在能基本独立开发项目离不开我一个大学同班同学,他把他的知道的一些知识以及面试经常问到的知识和我分享,避免了我走许多弯路,真的很感谢他!在技术方面我也只能算是一个新手,还有很多的知识要学习,所以并没有很多特别有价值的技术知识和大家分享,但我可以把我是怎么自学的Android分享给准备学习Android的同学,也避免他们走弯路。
1、首先最重要的是一定要把Android当做爱好去学。
这个我觉得不用去细说了。
2、选一本好的入门书是非常重要的。
我当时买的一本书我认为是我的启蒙书,是第一行代码,作者郭霖。这本书相对来说写的非常细。当时我就是按照书中的顺序,将书中的例子看明白,照着书打一遍,最后在模拟器上运行出来,在当时程序被运行到模拟器上的时候,感觉还有小小的成就感呢。
之后就是进阶,买了两本书,一本是Android 群英传和Android开发艺术探索。这两本书相对来说就是可以提升Android 水平一个档次的书。
3、多去技术网站看别人写的代码。
简书,我觉得就是一个很好地平台去学习。之前研究QQ未读消息的小红点的自定义控件,通过看被人写的Demo,自己也撸了出来,觉得在自定义控件这块有了很大的提高。
不得不说的就是慕课网,我自学的时候光看书是不够的,有时候看书看不明白,去慕课网看一看有关这块知识的视频,觉得更利于理解。
4、不要只知道使用别人写好的“轮子”
这个说来惭愧,我这点做的也是不太好。有的时候项目紧,在GitHub上找到对应效果的三方,直接拿来使用,心里当时也是想弄明白这个效果是怎么实现的,但是有时也抵不过自己的懒惰。
5、多关注有关技术的微信公众号
我关注了几个很好的公众号,这几个公众号基本推送的都是干货。
今天先写到这吧,最近在写点东西(学点东西☺️),有点忙。
网友评论