减少代码冗余,封装你的程序_.NET_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > .NET > 减少代码冗余,封装你的程序

减少代码冗余,封装你的程序

 2013/8/7 16:08:28  Insus.NET  博客园  我要评论(0)
  • 摘要:刚才在论坛上看到一个问题,其中网友有帖出一个方法,如下。过多的代码冗余过多的if判断。下面Insus.NET按照自己的相法与习惯,重构这个方法,希望代码冗余的地方,能够简化,需要封装的地方,把它们封装。第一步,大家可以看到每个if判断块内,都有一句:fileUpload.PostedFile.SaveAs(myDicPath+"\\"+fileName);结果如下,冗余的都被Insus.NETcommentout了,只留下Highlight的一句:第二步,我们又看到每个if判断块内
  • 标签:程序 代码

刚才在论坛上看到一个问题,其中网友有帖出一个方法,如下。过多的代码冗余过多的if判断。



下面Insus.NET按照自己的相法与习惯,重构这个方法,希望代码冗余的地方,能够简化,需要封装的地方,把它们封装。
第一步,大家可以看到每个if判断块内,都有一句:

fileUpload.PostedFile.SaveAs(myDicPath + "\\" + fileName);


结果如下,冗余的都被Insus.NET comment out了,只留下Highlight的一句:



第二步,我们又看到每个if判断块内,都有两句代码,是判断目录是否存在,如果不存在,创建目录的。

 if (!Directory.Exists(myDicPath))
                Directory.CreateDirectory(myDicPath);


我们可以把它封装成一个方法:


重构之后,变成这个样子:



第三步,这个多个if判断块,Insus.NET想法是,去除所在if判断。不可能吧!  是的。看下面的重构过程就行了。在实现之前,先要把这个目录与文件扩展名规划一下:



再写一个方法,带一个参数,传入文件扩展类型名,获取目录名称。



Ok,接下来,我们又可以重构程序了:


嗯,拿掉comment out的代码,留下:


发表评论
用户名: 匿名