zoukankan      html  css  js  c++  java
  • 习惯决定性能I

    大的架构不用说了,这说的是一个既定架构下的性能.

    一. 命名:

    不要对名称空间视而不见.

    比如:

    namespace Alibaba.Taobao.Users

    {

      public class UserImp

      {

        public User GetUserByUserId(long userId)

        {

        }

        

        public User GetUserByUserName(long userId)

        {

        }

      }

    }

    有什么严重问题吗?有!GetUserByUserId,GetUserByUserName算下这两个方法居然有14,16个字符.最好的应该是

    public User Get(long userId)

    public User Get(string userName)

    一下子节省30-6=24个字符.

    如果一个项目里面有1000个这个样方法,并且在10000个地方引用,算下程序集的大小会增加多少? 24(1000+10000)=264000个字符,在记事本中打264000个字母看有多大吧!

    再说了,引用的时候会产生冲突吗?就算是静态方法也不会的!

    UserImp uip=new UserImp();

    uip.Get(uid);

    uip.Get(name);

    不要以见名闻义为借口,GetUserByUserId这类命名方法就好像把别人当傻子一样的,而且还弄花别人的眼睛. 记住一点: 明显的常识性问题不用去强调,不然就是画蛇添脚.

    三个要点:

    1. 命名空间明确哪个包.

    2. 方法重载明确不同调用.

    3. 参数名明确区分参数意义.

    二. 集合查找

        所有的数组,集合不要在一个方法里面重复查找.

    错误:

       if(a== pars[i])

     {

       string b=pars[i];

       }

       

       if(null!= Cache[i])

     {

      user=Cache[i] as User;

     }

    正确:

      string s=pars[i];

       if(a== s)

     {

       string b=s;

       }

       

     object o=Cache[i];

       if(null!= o)

     {

      user=o as User;

     }

    如果,我是说如果不小心你的一个集合中有10000个条目,每次查找就算用多用1毫秒,如果遇到同步1000个用户访问就多用1秒钟. 倒,这个网站太烂了,经常一秒秒的卡!

    三. 代码长度

        1. 最好一个类大小不要翻屏.

        2. 除非资源加载类方法,代码行应该控制在20行内,最好在10行内.不要以函数调用频率为借口,用过程化的思想来处理面向对象编程只能说明设计上有问题. 同样的函数调用次数能达到同样的效果.

  • 相关阅读:
    WCF基础 (续 更多关于配置文件的内容)
    WCF基础 (续 暴露元数据交换节点)
    简单的asp.net文件上传类
    根据年份月份,获得此月份的所有日期[转]
    JS 设为首页/加入收藏
    WCF基础 (续 使用代码生成WCF服务)
    WPF自定义标题栏——窗口移动和按钮状态转换[转]
    WCF元数据交换
    WCF基础 (续 为一个ASMX服务实现一个WCF客户端) 完结
    WCF基础 (续 通过代码和配置文件写一个WCF服务)
  • 原文地址:https://www.cnblogs.com/kcitwm/p/1902151.html
Copyright © 2011-2022 走看看