代码复审

我们CodingCook复审的是WWW的代码,他们的项目是时间管理助手(TimeLine)。只是跟根据自己的经验来看,不一定准

先说一下整体的感觉。WWW的代码用了应该是比较符合面向对象的思想,借口,封装随处可见,也能见到一些设计模式。同时,以我的水平看来,代码质量比较高,格式规范,没有低级错误。

我主要就说我看的这个Logic模块(加空行注释1600+)

分项说明

1.  注释。这一点做的不错,至少我看到了不少,能够说明代码的作用。基本上每一块代码前都有注释。不足就是,存在几块废弃代码没有删除。

2.  代码格式。变量名非常符合C#的语言规范,且容易辨别有意义。四空格缩进。空行稍多,不是很习惯,不过这个和个人习惯相关。不足就是虽然许多地方断句不错,但仍有超长的代码行存在(120+),不利用阅读,建议是一行代码不超过80(这样的话,即使同一个显示器分开两个窗口,也不会造成阅读困难)。同时,对于单语句的if格式不统一(详见举例)

3.  异常捕获。这一点这一段代码做的不好。直接catch的是Exception。这是一个不好的编程习惯,虽然说比较方便,但是也不方便调试,同时也可能会忽略真正的错误,漏掉代码隐藏的Bug。

4.  其他。todo标记、warning标记,这个很好,不过要记得完成。

具体的代码段列举一二

1. 两个if没有必要,可以直接以 && 连接两个条件,代码功能完全相同

if (string.Compare(obj.Value, ip.TagLabel, true) == 0)
{if (!gTagMapping.ContainsKey(obj.Key)){gTagMapping.Add(obj.Key, ip.TagLabel);inverseMapping.Add(ip.TagLabel, obj.Key);}
}

 

2. return之后仍有代码,应该是粗心导致。

return;
//by kitty & fancy start
if (string.IsNullOrEmpty(outputFileName))//outputFileName = "summary_from"+startTime+"_to_"+endTime+".txt";
outputFileName = "summary.txt";

 

 3. 单语句if格式应统一

if (cTask > 0)return iLiferInterface.DayState.DUEDATE;if (tag == -1)
{tag = AddTagType(taglabel);
}

  

转载于:https://www.cnblogs.com/codingcook/archive/2012/12/11/2813915.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/274436.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

图像标注技巧_保护互联网上图像的一个简单技巧

图像标注技巧补习 (TUTORIAL) Have you ever worried about sharing your images on the Internet? Anytime you upload something to the web you risk the chance of your work being used (without permission) by another.您是否曾经担心过要在Internet上共享图像&#xf…

【VueConf 2022】尤雨溪:Vue的进化历程

大家好,我是若川。我持续组织了近一年的源码共读活动,感兴趣的可以 点此扫码加我微信 lxchuan12 参与,每周大家一起学习200行左右的源码,共同进步。同时极力推荐订阅我写的《学习源码整体架构系列》 包含20余篇源码文章。历史面试…

WCF netTcpBinding寄宿到IIS7

config配置文件不多说 <?xml version"1.0" encoding"utf-8" ?> <configuration><system.serviceModel><behaviors><serviceBehaviors><behavior name"myBehavior"><serviceMetadata/></behavior…

ar软件测试工具_如何为用户测试制作快速的AR原型

ar软件测试工具We had a project recently with an element of AR-based interaction, which it turned out was impossible to create as a prototype in either Invision or Framer (our current stack). This had a massive impact on our ability to test with users in a …

未来ui设计的发展趋势_2025年的未来UI趋势?

未来ui设计的发展趋势Humans are restless.人类是不安的。 Once we find something that works, we get used to it and we crave the next big thing. The next innovation. When will the future finally arrive? And when it does, how long will it take us to get used …

内存泄露检测 vld

VLD是一款开源检测内存泄露软件的简称&#xff1a;Visual Leak Detector 网站&#xff1a;http://vld.codeplex.com/ 使用&#xff1a; 1. 安装vld 或者 下载相关 .h&#xff0c;lib&#xff0c;dll 文件 2. 方法很简单&#xff0c;只要在包含入口函数的.cpp文件中包含vld.h就可…

Monorepo 在网易的工程改造实践

大家好&#xff0c;我是若川。我持续组织了近一年的源码共读活动&#xff0c;感兴趣的可以 点此扫码加我微信 lxchuan12 参与&#xff0c;每周大家一起学习200行左右的源码&#xff0c;共同进步。同时极力推荐订阅我写的《学习源码整体架构系列》 包含20余篇源码文章。历史面试…

这一年,Vue.js 生态开源之旅带给我很大收获~

大家好&#xff0c;我是若川。我持续组织了近一年的源码共读活动&#xff0c;感兴趣的可以 点此扫码加我微信 lxchuan12 参与&#xff0c;每周大家一起学习200行左右的源码&#xff0c;共同进步。同时极力推荐订阅我写的《学习源码整体架构系列》 包含20余篇源码文章。历史面试…

CSSyphus:烦躁不安的烦恼设计指南。

I’m trapped at home with my website. Or maybe it’s trapped at home with me. While some are using the weird lump of time provided by lockdown to indulge in baking, dancing, painting, singing, I’m using it to play around with code.我 被自己的网站困在家里。…

重构与臭豆腐4

重构要继续&#xff0c;臭豆腐要做。   这个重构中各种提取类&#xff0c;方法&#xff0c;字段&#xff0c;可以方便的理解&#xff0c;如果使用了设置模式就更加逻辑清晰了。切东西也要讲究刀法的。 重构可以方便的使用设计模式。设计模式为重构提供了目标。 比如多个if 可…

你构建的代码为什么这么大?如何优化~

大家好&#xff0c;我是若川。我持续组织了近一年的源码共读活动&#xff0c;感兴趣的可以 点此扫码加我微信 lxchuan12 参与&#xff0c;每周大家一起学习200行左右的源码&#xff0c;共同进步。同时极力推荐订阅我写的《学习源码整体架构系列》 包含20余篇源码文章。历史面试…

用户体验需求层次_需求和用户体验

用户体验需求层次Shortly after the start of 2020 I led the development of a new website, and it went live in August. A week before the deployment, I paused development and took a step back in order to write about the project. Taking that pause, that step ba…

VMwareWorkstation设置U盘启动(或U盘使用)

最近在工作中&#xff0c;经常要和LINUX部署打交道&#xff0c;一般在生产环境部署之前需要在自己的机器上进行测试。比如使用U盘安装操作系统等。 在机器上安装了VMware Workstation9.0&#xff0c;运行多个测试虚拟机。理由所当然的要使用此做一些操作系统部署&#xff0c;…

类从未使用_如果您从未依赖在线销售,如何优化您的网站

类从未使用初学者指南 (A beginner’s guide) If you own a small business with a store front, you might have never had to rely on online sales. Maybe you’re a small clothing store or a coffee shop. You just made that website so people could find you online, …

狼书三卷终大成,狼叔亲传Node神功【留言送书】

大家好&#xff0c;我是若川。之前送过N次书&#xff0c;可以点此查看回馈粉丝&#xff0c;现在又和博文视点合作再次争取了几本书&#xff0c;具体送书规则看文末。众所周知&#xff0c;我在参加掘金人气作者打榜活动&#xff08;可点击跳转&#xff09;&#xff0c;需要大家投…

entity framework5 sqlserver2005 事务(TransactionScope)报未启用MSDTC错误解决办法

详情请看&#xff1a;http://stackoverflow.com/questions/12809958/ef-how-do-i-call-savechanges-twice-inside-a-transaction using (var transaction new TransactionScope()) {// Do somethingdb.SaveChanges();// Do something elsedb.SaveChanges();tramsaction.Comple…

程序详细设计之代码编写规范_我在不编写任何代码的情况下建立了一个设计策划网站

程序详细设计之代码编写规范It’s been just over a month since MakeStuffUp.Info — my first solo project as an independent Creator; was released to the world. It was not a big project or complicated in any way, it’s not even unique, but I’m thrilled where …

偷偷告诉你们一个 git 神器 tig,一般人我不告诉TA~

大家好&#xff0c;我是若川。众所周知&#xff0c;我参加了掘金创作者人气作者投票活动&#xff0c;最后3天投票。今天可投28票&#xff0c;明天32票&#xff0c;后天36票&#xff08;结束&#xff09;。投票操作流程看这里&#xff1a;一个普通小前端&#xff0c;将如何再战掘…

DAO层使用泛型的两种方式

package sanitation.dao;import java.util.List;/** * * param <T>*/public interface GenericDAO <T>{/** * 通过ID获得实体对象 * * param id实体对象的标识符 * return 该主键值对应的实体对象*/ T findById(int id);/** * 将实体对象持…

将是惊心动魄的决战~

大家好&#xff0c;我是若川。一个和大家一起学源码的普通小前端。众所周知&#xff0c;我参加了掘金人气创作者评选活动&#xff08;投票&#xff09;&#xff0c;具体操作见此文&#xff1a;一个普通小前端&#xff0c;将如何再战掘金年度创作者人气榜单~。最后再简单拉拉票吧…