首页 > 其他 > 详细

代码复审

时间:2014-10-24 00:19:12      阅读:250      评论:0      收藏:0      [点我收藏+]

给结对伙伴叶露婷的代码复审:

1.变量命名存在些许问题,尽量不要使用拼音,如果需要按照中文意思命名可以采用英语。

1 public void dictionarystore()
2 {
3 String temp;
4 count jishu;
5 
6 foreach (Object o in str)
7 {
8 temp = o.ToString().ToLower();
9 if (table.ContainsKey(temp))
10 {
11 jishu = table[temp];
12 jishu.setnum();
13 if (jishu.getdanci().CompareTo(o.ToString()) < 0)
14 {
15 jishu.setdanci(o.ToString());
16 }
17 }
18 else
19 {
20 jishu = new count(o.ToString(), 1);
21 table.Add(temp, jishu);
22 }
23 }
24 
25 
26 }
27 }

 


2.使用了过多的类,但是这些类的存在没有很大的实际意义,本来只有两百行的代码分成这么多个类有些繁琐,可以将一些功能比较薄弱的类归并到其他的类中实现其功能。比如下面这代码的功能是获取文件中的内容,完全可以将内容的获取和分割放在一个类中,这应该是属于同一种处理,也是同一个对象应该提供的功能。不要将一些杂乱的功能归为一个类。面向对象不是简单的分割,而是有原因的。合理确定对象,这样在以后写大型程序的时候能够更易看懂更好管理。

1 public void dirscanner(String dir)
2 {
3 String[] allfile = null;
4 String[] alldirectory = null;
5 if (!Directory.Exists(dir) && !File.Exists(dir))
6 {
7 Console.WriteLine("该路径无效");
8 Environment.Exit(0);
9 }
10 else if (Directory.Exists(dir))
11 {
12 allfile = Directory.GetFiles(dir);
13 alldirectory = Directory.GetDirectories(dir);
14 for (int i = 0; i < allfile.Length; i++)
15 {
16 dirscanner(allfile[i]);
17 }
18 for (int i = 0; i < alldirectory.Length; i++)
19 {
20 dirscanner(alldirectory[i]);
21 }
22 }
23 
24 String houzhui = dir.Substring(dir.LastIndexOf(".") + 1);
25 if (houzhui == "txt" || houzhui == "cpp" || houzhui == "h" || houzhui == "cs")
26 {
27 String text = File.ReadAllText(dir);
28 str.Append(- + text);
29 }
30 }
31 }

 


3.这里的dictionary的值对的值得类型为一个自己定义的类,有些浪费空间。可以考虑一下还有没有其他的方式,能够同时兼顾时间和空间。

1 public void dictionarystore()
2 {
3 String temp;
4 count jishu;
5 
6 foreach (Object o in str)
7 {
8 temp = o.ToString().ToLower();
9 if (table.ContainsKey(temp))
10 {
11 jishu = table[temp];
12 jishu.setnum();
13 if (jishu.getdanci().CompareTo(o.ToString()) < 0)
14 {
15 jishu.setdanci(o.ToString());
16 }
17 }
18 else
19 {
20 jishu = new count(o.ToString(), 1);
21 table.Add(temp, jishu);
22 }
23 }

 


4.时间效率方面还行,使用了dictionary很好的改善了时间效率,对文件内容的处理使用了正则表达式和spilt分割,都很得当。功能的实现也很独立,对变量的命名总体上还是合适的,代码比较容易读懂。

代码复审

原文:http://www.cnblogs.com/wangzhuo/p/4047149.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!