知识大全 最简单的重构,你会吗

Posted

篇首语:笛里谁知壮士心,沙头空照征人骨。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 最简单的重构,你会吗相关的知识,希望对你有一定的参考价值。

  最近玩Reporting Service报表 微软官方客户端展现实现中有这么一段代码

   protected void Page_Load(object sender EventArgs e)

  

        if (!IsPostBack)

       

            // Get report path from configuration file

            Uri serverurl = new Uri(ConfigurationManager AppSettings[ ReportServerUrl ]);

            string reportsfolder = ConfigurationManager AppSettings[ SampleReportsPath ];                                           // folder or site path

            string fileextension = (ConfigurationManager AppSettings[ ReportServerMode ] == SharePoint ? rdl : String Empty);  // extension depending on the report server mode

  

            ReportViewer ServerReport ReportServerUrl = serverurl;

            ReportViewer ServerReport ReportPath = String Format( /Company Sales reportsfolder fileextension);

            ReportViewer ServerReport ReportServerUrl = serverurl;

            ReportViewer ServerReport ReportPath = String Format( /Employee Sales Summary reportsfolder fileextension);

            ReportViewer ServerReport ReportServerUrl = serverurl;

            ReportViewer ServerReport ReportPath = String Format( /Product Catalog reportsfolder fileextension);

            ReportViewer ServerReport ReportServerUrl = serverurl;

            ReportViewer ServerReport ReportPath = String Format( /Sales Trend reportsfolder fileextension);

            ReportViewer ServerReport ReportServerUrl = serverurl;

            ReportViewer ServerReport ReportPath = String Format( /Territory Sales Drilldown reportsfolder fileextension);

       

  

  忍不住手痒一下 把它变成

   protected void Page_Load(object sender EventArgs e)

  

        if (IsPostBack) return;

  

        // Get report path from configuration file

        Uri serverurl = new Uri(ConfigurationManager AppSettings[ ReportServerUrl ]);

        string reportsfolder = ConfigurationManager AppSettings[ SampleReportsPath ];

  

        // folder or site path extension depending on the report server mode

        string fileextension = (ConfigurationManager AppSettings[ ReportServerMode ] == SharePoint ? rdl : String Empty);

  

        Action<Microsoft Reporting WebForms ReportViewer string> setReportViewer =

            (report reportName) =>

           

                report ServerReport ReportServerUrl = serverurl;

                report ServerReport ReportPath = String Format( / reportsfolder fileextension reportName);

            ;

  

        setReportViewer(ReportViewer Company Sales );

        setReportViewer(ReportViewer Employee Sales Summary );

        setReportViewer(ReportViewer Product Catalog );

        setReportViewer(ReportViewer Sales Trend );

        setReportViewer(ReportViewer Territory Sales Drilldown );

  

  这个变化有三点

  1 把IsPostBack条件判断反转 减少一层嵌套

   把设置ReportViewer的相同逻辑提取出来 在一个委托中设置

   让注释与上行代码隔一行 并单独占一行

cha138/Article/program/net/201311/13073

相关参考

带状疱疹家中护理,你会吗?

带状疱疹家中护理,你会吗?带状疱疹的发病率是非常高的。它并不是向我们想的那样,有过一次就再也没有了。而是根据个人的体质抵抗力进行反映的。有的带状疱疹会在一人身上多次复发。因此,我们十分有必要了解带状疱

知识大全 没经营的公司0报税也要请财务公司吗

没经营的公司0报税也要请财务公司吗申报纳税是企业和个人的义务,交不交具体的税款都要走申报流程,如果你会的话就不用别人了,你会吗?财务公司,代理记账报税,求个名字?这个,你需要说出你公司所在地址吧,要不

知识大全 用JBuilder 2005实现重构之认识重构

用JBuilder2005实现重构之认识重构  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  为什

知识大全 JBuilder2005实现重构之分布式重构

JBuilder2005实现重构之分布式重构  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  由于

知识大全 JBuilder2005实现重构之重构前的侦察

JBuilder2005实现重构之重构前的侦察  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  有

知识大全 男人有一次精神出轨,他以后还会吗?

男人有一次精神出轨,他以后还会吗?这个无法判断的,出轨的机率很大;婚外恋是违背传统道德观念,违背社会公德的。对个人、家庭和社会都有极大的危害。是一个十分让人头疼的家庭问题,也是一个严重的社会问题。“婚

知识大全 中国政府允许耶和华见证人会吗

中国政府允许耶和华见证人会吗禁止现在是不允许的,因为耶和华见证人没获得中国正府承认为合法组织,鉴于耶和华见证人是国际性的宗教组织,虽然在200多个国家被承认为合法,但中国正府不允许有外国的宗教势力渗透

知识大全 美容师和西点师哪个累,西点师没有基础学得会吗

美容师和西点师哪个累,西点师没有基础学得会吗轻松的工作肯定没有好的待cdomick遇哈,女孩子现在学西点的话肯定待遇比美容师好,就业前景也更广!没有基础也学的会哈!烘焙师和西点师一样吗,西点师没有基础

知识大全 用51单片机做一个定时器,程序用C语言写,有人会吗

用51单片机做一个定时器,程序用C语言写,有人会吗?  以下文字资料是由(本站网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!用

知识大全 Oracle在线索引重构

Oracle在线索引重构  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  查询某个表的索引属于哪个