每个人都有自己的南墙要撞,分享一下我在开发中撞南墙后得到的一些经验:
1. 加进第三方库前三思而后行,这真的很重要。
2. 如果用户看不见的元素,就不要绘制。
3. 不要使用数据库,除非你真的需要。
4. 很容易碰到65K方法数的限制,Multidexing可以拯救你。
5. RxJava是AsyncTasks最好的替代。
6. Retrofit是最好的网络库。
7. 使用Retrolambda来缩短代码。
8. 通过功能来划分包而不是层。
9. 把所有的东西从主线程里拿走。
10. 使用gradle。
11. 使用著名的架构。
12. 使用依赖注入,使应用程序更加模块化,因此更容易测试;
13. 选用适当的输入类型。
14. 如果要用的库很大,而只用到其中小部分功能,那么应该找一个更小的相关的库来替代。
15. 监测网络连接情况和连接类型(比如数据很多则在wifi环境更新)。
16. 监测电量和电池状态(充电时或者电量低时应用应该怎么做)。
17. 用户界面就像一个笑话,需要解释才能让人get到笑点的笑话不是好笑话,需要解释的界面不是好界面。
18. 测试是必须的。
19. 缜密的业务逻辑是很重要的,虽然不能考虑完全各种case,但还是先思考在写代码吧。
20. 不要堆代码,代码的可读性,重用性,简洁性等等是很重要的,把代码写得艺术一点。
21. make it run, make it right, make it fast!