zoukankan      html  css  js  c++  java
  • 重构代码

    一网友需要对所写的代码进行重构,原代码如下:

     /// <summary>
            
    /// 检查上传文件类型
            
    /// </summary>
            
    /// <param name="type">文件类型</param>
            
    /// <returns></returns>
            public string strType(string type)
            {
                type = type.ToLower();
                type = type.Substring(type.LastIndexOf("."));
                if ((".swf,.flv,.doc,.docx,.jpg,.xls,.xlsx,.txt,.ppt,.pptx,.pub").Contains(type))
                {
                    return type;
                }
                else
                {
                    switch (type)
                    {
                        //case ".txt"://txt文本文件
                        
    //    type = ".rtf";
                        
    //    break;
                        case ".wps"://wps文件
                            type = ".doc";
                            break;

                        case ".et"://wps的表格文件
                            type = ".xls";
                            break;

                        case ".pps":
                        case ".dps":
                            type = ".ppt";
                            break;
                    }
                }
                return type;
            }
        }

    Insus.NET试重构了一下,去if...else, 和switch ...case的,简单与明了:

     public string strType(string type)
        {
            Dictionary<stringstring> dict_type = new Dictionary<stringstring>();
            dict_type.Add(".swf""swf");
            dict_type.Add(".flv""flv");
            dict_type.Add(".doc""doc");
            dict_type.Add(".docx""docx");
            dict_type.Add(".jpg""jpg");
            dict_type.Add(".xls""xls");
            dict_type.Add(".xlsx""xlsx");
            dict_type.Add(".txt""txt");
            dict_type.Add(".ppt""ppt");
            dict_type.Add(".pptx""pptx");
            dict_type.Add(".pub""pub");
            dict_type.Add(".wps""doc");
            dict_type.Add(".et""xls");
            dict_type.Add(".pps""ppt");
            dict_type.Add(".dps""ppt");
            //如果以后还在有类型需要判断,请加在这里。


            if (dict_type.ContainsKey(type))
                return dict_type[type].ToString();
            return string.Empty;
        }
    }
  • 相关阅读:
    React Native从入门到放弃之坑总结
    React Native从入门到放弃之环境搭建
    flex弹性布局语法介绍及使用
    JavaScript ES6中export及export default的区别
    解决webstorm本地IP访问页面出错的问题
    UEFI+GPT与BIOS+MBR各自有什么优缺点?
    解决U盘拷贝时提示文件过大问题(不能拷贝超过4个g的文件)
    U盘安装原版Win7或Win8教程
    安装win8/win10提示无法在驱动器0分区上安装windows解决方法
    idea 编译报错 未结束的字符串字面值,非法的类型开始
  • 原文地址:https://www.cnblogs.com/insus/p/2700710.html
Copyright © 2011-2022 走看看