转一个工作三年的Android开发人员的思考
Android三年,现在写代码,真心没什么很大的兴趣,每天都是优化代码,优化框架,技术支持。非常枯燥乏味。
一个项目做了大半年,才做了1/4,光src就有3M了。对这种大型app,我表示很无奈。什么时候才能到个头。
不过感谢我的line manager,让我专心做架构,还有我老大给予我技术支持。
写代码的时候三要素:Stable,Flexible,Readable
现在我搭个小型app的框架,大概3小时(复制,粘贴)
1.HTTP框架,用自己的,
2.ActionBarSherlock ,集成actionbar,我还是比较喜欢4.0风格,现在做的app都遵守标准的4.0
3.重写ActionBar Style , 更换主题样式。
4.图片lib(Android-Universal-Image-Loader),最近找了个不错的。
5.下拉刷新,改的开源的,增加下拉和上拉的区分回调,链接不记得了。我博客里有。
6.瀑布流,最近也碰到的牛x的。PinterestLikeAdapterView 不过代码我也改过了,在onscroll里加载更多,回调。发现下拉刷新的方式都是一样的。。。
7.数据库,自己写的框架太大了,基本手写。ormlite没试过,db4o,perst太小众,不怎么灵活。
8.BaseActivty,BaseFragment,BaseFragmentActivity. 很多时候有基类是非常好的事,逻辑都在基类里写好,子类只要改下UI布局就好了。
9.工具类。
10.复制粘贴,一个项目搭好了。
我喜欢把UI和逻辑拆开,如果拆不开,要么弃用,要么重写。不然以后维护没人能看懂,可别提改bug了。
不管team有多少人,一开始写代码尽量写伪代码(//TODO),把整体逻辑写完,TODO的地方慢慢加上,一个Activity就写完了。而且如果不做了,或者让别人来做,能很快顺着你的思路继续下去。如果你有很好的画流程图的习惯。把它们变成TODO试试。你会发现代码写起来很轻松。把写代码当成一种享受。当我看到别人在Activity有一堆算法逻辑的时候,简直是噩梦。如果team都能按照这个标准,效率至少提高50%。
对于新手来说,借鉴别人的sourcecode不是越多越好,整天有人问,这个项目的那个方法怎么用。你连看懂的资质都没有,到时候出bug了,谁来帮你fix。再者需求不是生搬硬套,别人的源码拿来还要改的,那么怎么改?建议好好分析一个项目,自己再试着写个简单的libary。你就明白怎么使用别人的框架,而且还会修改。框架本身就是为了更简化开发,所以很灵活,考虑的情景也很多。看明白一个框架,你的逻辑能力会变强,自己试着写个小框架哪怕是个小自定义view,动手能力也会变强。当然,如果简单基础知识都不理解的话,建议还是一步步来。
当你在写代码时,调用api,或者别人的框架,首先先想想你要什么样的功能,对方应该要提供给你什么功能,这个方法会叫什么样的名字,多YY,这样你会很惊喜的发现,它们确实有这样的方法。如果没有,自己加,或者换个思路。这样YY多了,你也会在写代码的时候想提供什么样的方法给外部。这样良性循环,写代码就真的是很容易的事情了。
当你成为team里的核心人员,如何去把控整个项目,梳理逻辑和框架,就需要平时多YY,多画流程图,多站在非技术的角度看整个项目,很难说有需求是无法实现的,也不能因为需求频繁改动而去抗拒。所以多想想在技术之外你还能为这个项目贡献什么。idea,沟通,协作。这样你在team扮演的角色越来越重要。升职,转行,随你。
最近没啥技术可以分享的,只能写写心得,仅供参考,可以交流,但真正问我什么问题怎么解决,我可能回答不了。术业有专攻,不是所有我都能解答,也不是所有都非得问他人才能有答案。