• 习惯决定性能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行内.不要以函数调用频率为借口,用过程化的思想来处理面向对象编程只能说明设计上有问题. 同样的函数调用次数能达到同样的效果.

  • 相关阅读:
    html笔记
    Git入门学习总结
    使用OpenSSH远程管理Linux服务器
    Linux 网卡驱动的安装
    vi的使用
    Linux下常用的数据恢复工具
    网络文件系统(NFS)的使用
    文件系统管理
    磁盘存储管理
    用户权限管理
  • 原文地址:https://www.cnblogs.com/kcitwm/p/1902151.html
Copyright © 2020-2023  润新知