zoukankan      html  css  js  c++  java
  • 转载: 项目经验分享

    1.是不是应该把数据刷新操作放在onResume()中?

        @Override
        public void onResume() {
            super.onResume();
            refresh();
        }
              public  void refresh(){
            initData();
        }
    这样不合适,在什么时候刷新是根据需要来的,并不是每次onResume()的时候都需要刷新。
    假如用户关闭了屏幕后再打开屏幕,页面会刷新,这样没有必要,也许几秒中前刚刷新过。
    网易新闻客户端就不是这样的。
    2.关于activity,fragment与弹窗
    如果一个activity中有一个ViewPager,ViewPager中加载了两个fragment,这时要特别注意的是,两个fragment是同事加载的,虽然只显示了一个fragment的界面,但是另外一个也是加载了的,所以如果当前显示的fragment没有弹窗,但是另一个fragment弹窗了也会显示到当前activity中。
     
    3.copy布局文件和复用布局文件的优缺点
    重用优点:减少布局文件个数,如果几个界面的布局问个始终一致,那么可以使用
    重用缺点:如果其中一个布局文件有所改动,那么其他页面将不能再使用,因为布局文件中没法使用 if else 。
    copy优点:一个页面对应一个xml文件,完全解耦
    copy缺点:会大量出现重复的代码
    总结:需求随时都可能变动,还是把布局解耦比较好
    4.优化代码的思路
    哪段代码使用的频率越高就应该先优化哪段代码,这样会事半功倍!
     
    5.千万要保护好自己的代码
    昨天跟我说某某模块的接口改了,要重新做,我做了。
    今天来的时候又跟我说暂时不改了,还是用之前的代码。
    天啦,幸亏我没有删掉之前的代码,不然死的心都有了。
    so,程序猿们,保护好你自己的代码。
    6.模板方法没有写好会很悲剧
    模板方法写好了,比如BaseAcitivity,然后开始写它的子类,忽然调试的时候发现模板的方法有问题,比如说要调整方法调用的顺序或者改变方法调用的位置,这下好了,你的N个子类都是按照之前的模板方法去写的,so 你就一个一个去修改子类吧。
    另外,要千万注意别人修改了公用的模板方法,要及时pull和push代码,不然自己写的很多代码都白费了。
    7.不要频繁重复的调用数据
    比如你要获取10-个新闻列表数据,而且你要同一时间去获取,那就得创建10次Http链接,这很费时的。最好的方法是让服务器把10个新闻列表数据写在一个xml文件中,这样会显著的节约时间。wo
    so,当进行远程调用时,从数据提供者反复调用取得数据会严重影响性能,比如数据库调用、Web服务调用或者其他编解码调用。这种情况下可以使用Facade模式一次获得所有所需的数据,尽可能减小连接成本和在网络上传输数据的成本。
    8.类中的成员变量前加"m"
    本类的所有成员变量前加"m",好处是:敲"m"就能提示本类的一些成员变量
     
    9.一定要有自己的技术博客和帖子
    别人的博客和帖子是别人的,要有自己的,不断补充,不断完善,以后再查看的时候才方便。
    另外 ,强迫自己写技术博客和帖子就是强迫自己总结,加深技术知识的印象。
     
    10.一个类应该纯粹,一个类就只应该做一件事情
    比如写一个瀑布流类(自定义View),干了很多事情,布局了瀑布流模型,设置了刷新功能。
    这不应该在一个类中出现,瀑布流就是瀑布流,刷新是另外一回事,获取数据又是另外一回事!不要混在一起,写在一个类中!
    一个类应该是纯粹的,尽量的简单,就是干一件事情。完成一个功能我们可以把多个类组合在一起,或者引用等等方法。
    好处在于拆卸方便,当不需要什么功能的时候能快速明晰的剥离掉。如果什么代码都混在一块那是灰常难以剥离的。
  • 相关阅读:
    几种常用的曲线
    0188. Best Time to Buy and Sell Stock IV (H)
    0074. Search a 2D Matrix (M)
    0189. Rotate Array (E)
    0148. Sort List (M)
    0859. Buddy Strings (E)
    0316. Remove Duplicate Letters (M)
    0452. Minimum Number of Arrows to Burst Balloons (M)
    0449. Serialize and Deserialize BST (M)
    0704. Binary Search (E)
  • 原文地址:https://www.cnblogs.com/xilinch/p/3284227.html
Copyright © 2011-2022 走看看