文档章节

.NET开发必须了解的几个工具(单元测试)

laoyi007
 laoyi007
发布于 2016/05/06 10:46
字数 1485
阅读 19
收藏 2

「深度学习福利」大神带你进阶工程师,立即查看>>>

值得注意的是这几个工具也是C#开发的喔,大部分还是开源的,可以在sourceforge.net找到踪影。
1. NDoc  文档处理,将注释生成MSDN风格和其它好几种流行风格的文档。
    和.NET Help Integration Kit配合功能更强。
2. NAnt 习惯使用Ant的福音啊,Nightly Build好方便,按自动计划运行生成程序。
    但我以为似乎nmake也可以做相同的东西啊。不过它用build.xml来定义,现在很流行。
3. FxCop 有助于创建更好的应用程序分析程序集,使用一些不同的规范检查是否符合代码规范。
4. CodeSmith 基于模板的代码生成工具,Freeware,但用IDE要注册,我以为命令行都很好用了。http://www.ericjsmith.net/codesmith/
5. NUnit 这个不用讲了,著名的JUnit的.NET版本。测试工具。 http://www.nunit.org
    值得一体的是这个AddIn:http://sourceforge.net/projects/nunitaddin

6. Snippet Compiler 方便的小段代码测试工具。如果经常有些小段代码需要检验的,但又不想创建完整的.NET项目,这个工具可以帮助你编写,编译和运行代码片段:http://www.sliver.com/dotnet/snippetcompiler


热爱Java 的人用了C# 的人可能会觉得浑身不舒服,热爱C#的人也不是很喜欢Java.  --------------不对 我2个都喜欢

Java 的设计者是因为讨厌C++的复杂,于是Java 非常简洁,GC 也让内存管理非常方便,C# 是看中了Java 的GC,和虚拟机技术,希望把微软的几大语言集成到.NET 上来。 因此C#从语言上来讲并不简单甚至可以算的上复杂。
两种语言的设计思路也不一样,Java 是编译解释语言,C#是编译然后编译运行语言。Java 没有委托,C# 有委托。Java 倾向于用Interface 实现委托的功能,而 在C# 中,Abstract Class 比Interface 发挥了更大功能。
Java 遵循camel 命名规则,C#遵循Pascal 命名规则。但是如今越来越多的Java 人开始使用C#, 同时也把camel 命名规则带到了C#,这可能会让C#代码越来越难读。为什么当初C#为什么不遵循camel 呢? 我看不出camel 命名规则有什么不好的。
带着Java 投奔C#的人,和带C#投奔Java 的人,不要带着成见去批评。
使用C#的人最好能总结出自己的一套使用子集,比如抛弃 out 和ref 关键字,永远不使用structs. 不使用事件event 所有event 的相关功能用delegate 实现。你要是不喜欢delegate 那就统统抛弃,用interface, 像java 一样。 尽量少用interface, 多用abstract class. 然后让整个team的人遵循相同标准。c#太大,如果每个人用自己的一套习惯,会给将来带来无穷的麻烦。
C# 是为生产效率而设计,Java 一半是为Geek 设计。
C# 和Java 在各自领域发挥作用,在不远的将来,谁都不会取代谁。
要真正理解计算机编程,还是从C学起比较好http://xhinker.blog.51cto.com/640011/380601 比尔.盖茨曾经说过:“Java是最卓越的程序设计语言” 
言归正传,下面探讨Java同C#的语法不同之处。。。 
1,命名空间与包  
C#为了把实现相似功能的类组织在一起,引入了命名空间的概念(namespace) 
Java中与此对应的东西叫做包(package) 
2,类的访问控制方面的不同  
C#只有两种:public和默认(同internal) 
public能被所有的类(同项目中和不同项目中)访问 
internal(在class关键字前不加控制符时默认为internal),表明类只能在同一项目中访问 
Java也只有两种:public和默认 
public能被所有的类访问 
默认(在class关键字前不加控制符时)只能被同一包中的所有类访问 
3,类成员的访问控制  
C#中有四种:public,protected,private(默认),internal(注意这里internal和默认是不同的) 
public能被所有的类访问 
protected只能被子类访问 
private(也即不写任何控制符时的默认情况下)只能类内部访问 
internal能被同一项目中的类访问 
Java也有四种:public,protected,private和默认 
public能被所有的类访问 
protected既能被同一个中的其他类访问,也可以被不同包中的子类访问 
private只能在类内部使用 
默认可以被这个包中的其他类访问,如果一个子类与父类位于不同的包中,子类也不能访问父类中的默认访问控制成员 
4,C#中类的继承用通过冒号:实现,在Java中用extends  
C#中实现接口通过冒号:实现,在Java中用implements 
C#中密封类用sealed实现,在Java中用final 
C#中常数用const实现,在Java中用final 
C#中属性用set,get代码块实现,在Java中一般用类似于C#中的字段代表属性,或者用setter,getter构造器实现 
C#中有部分类(partial)的概念,Java中没有 
C#中有readonly修饰属性只读,Java中没有 
C#中有virtual和override修饰虚方法和重写方法,Java中没有,Java中默认父类中的方法都是virtual的 
Java中有static{},synchroized{}代码块的概念,C#中没有 
Java中有标签(如labelA:)的概念,C#中没有 
C#中子类调用父类的方法用base.method(),Java中用super.method() 
C#中用is来判断一个实例是否是某一个类的,Java中用instanceof 
C#中用foreach(int i in array)来对数组中每一个元素的遍历,Java中用for(int i : array) http://www.jb51.net/article/32153.htm
http://www.zhihu.com/question/20451584  -----------------有趣的评论

laoyi007
粉丝 0
博文 63
码字总数 61452
作品 0
南京
私信 提问
加载中
请先登录后再评论。
访问安全控制解决方案

本文是《轻量级 Java Web 框架架构设计》的系列博文。 今天想和大家简单的分享一下,在 Smart 中是如何做到访问安全控制的。也就是说,当没有登录或 Session 过期时所做的操作,会自动退回到...

黄勇
2013/11/03
3.6K
8
用vertx实现高吞吐量的站点计数器

工具:vertx,redis,mongodb,log4j 源代码地址:https://github.com/jianglibo/visitrank 先看架构图: 如果你不熟悉vertx,请先google一下。我这里将vertx当作一个容器,上面所有的圆圈要...

jianglibo
2014/04/03
4.3K
3
Flappy Bird(安卓版)逆向分析(一)

更改每过一关的增长分数 反编译的步骤就不介绍了,我们直接来看反编译得到的文件夹 方法1:在smali目录下,我们看到org/andengine/,可以知晓游戏是由andengine引擎开发的。打开/res/raw/at...

enimey
2014/03/04
6.1K
18
beego API开发以及自动化文档

beego API开发以及自动化文档 beego1.3版本已经在上个星期发布了,但是还是有很多人不了解如何来进行开发,也是在一步一步的测试中开发,期间QQ群里面很多人都问我如何开发,我的业余时间实在...

astaxie
2014/06/25
2.7W
22
5分钟 maven3 快速入门指南

前提条件 你首先需要了解如何在电脑上安装软件。如果你不知道如何做到这一点,请询问你办公室,学校里的人,或花钱找人来解释这个给你。 不建议给Maven的服务邮箱来发邮件寻求支持。 安装Mav...

fanl1982
2014/01/23
1.2W
7

没有更多内容

加载失败,请刷新页面

加载更多

利用Numpy中的ascontiguousarray可以是数组在内存上连续,加速计算

1. 概述 在使用Numpy的时候,有时候会遇到下面的错误: AttributeError: incompatible shape for a non-contiguous array 看报错的字面意思,好像是不连续数组的shape不兼容。 有的时候,在看...

osc_9we1w99u
35分钟前
0
0
如何管理客户的期望值?

根据客户关系管理(CRM)中的三角定律,客户满意度=客户体验-客户期望值。客户期望值与客户满意度成相对反比,因此需要引导客户期望值并维持在一个适当的水平,同时客户期望值需要与客户体验协...

cailisuper
今天
11
0
阿里研究员:软件测试中的18个难题

阿里QA导读:对于软件测试来说,怎么样才算测够了?如何评价测试的有效性?那么多测试用例,以后怎么删?在软件测试中会遇到非常多的问题,阿里研究员郑子颖分享了18个他总结出的难题以及相关...

阿里巴巴技术质量
昨天
0
0
Numpy的常用函数总结

1、np.argmax()、np.max()、np.argmin()、np.min()用法: argmax返回的是最大数的索引.argmax有一个参数axis,默认是0。看二维的情况如下: a = np.array([[1, 5, 5, 2],            ...

osc_auwur47t
36分钟前
0
0
【报告分享】2020抖音进阶-挑战赛2.0产品营销方案.pdf(附下载链接)

大家好,我是文文(微信:sscbg2020),今天给大家分享抖音营销中心出品的《2020抖音进阶-挑战赛2.0产品营销方案.pdf》,方案里面的玩法解析、案例、营销重点分析等都很清晰,对短视频及品牌...

智能推荐系统
昨天
11
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部