知识大全 提升C#和Visual Studio生产率的10个提示

Posted

篇首语:博观而约取,厚积而薄发。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 提升C#和Visual Studio生产率的10个提示相关的知识,希望对你有一定的参考价值。

提升C#和Visual Studio生产率的10个提示  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

  By John W Powell

  Link tips to boost your productivity with c and visual studio aspx

          学习快捷键

  明显而又简单 但是节省时间 尤其是对于那些你每天都要执行上百次的操作 例如构建和调试 下面是一些每个Visual Studio都应该知道的一些基本的快捷键

构建: CTRL + SHIFT + B 单词完成: CTRL + SPACE 开始调试: F 执行: CTRL + F

  即使专家可以从学习新快捷键中受益 下面Visual C# Keybinding Reference Poster并挂在你的工作台上

          使用GhostDoc生成XML注释

  让GhostDoc帮您生成XML注释而不是手动输入 虽然使用宏和代码段看起来也比较有效 但是我推荐Ghost Doc而不是其它方案 这个免费的插件基于上下文使用自定义模板生成连贯的英文文档 要使用它 右击(或者使用CTRL + SHIFT + D)为当前元素添加文档 例如

  

  这会生成下面的文档(注意GhostDoc将属性名拆分为单词并创建一个语句)

  

          自动完成属性

  利用C#的一个新特性 auto implemented properties 让编译器而不是你亲自为属性创建一个后台私有域吧 下面的例子展示了这个语法

  

  使用代码段更为有效 输入prop(自动完成属性的快捷键) 然后连续敲击TAB TAB 然后填入数据类型和属性名字

  

          Refactor

  Visual Studio中的重构可以完成很多任务 特别是重命名 但是我更喜欢的一个更有效率的特征是Encapsulate Field 如果你没能使用自动完成属性 而是声明了一个私有域 那么让VS帮您生成属性吧 要使用这个特征 右击域 并选择Refactor > Encapsulate Field  [NextPage]

  

  它会为你生成如下的属性

  

            向VS 添加命令

  安装PowerCommands for Visual Studio 以添加几个提高生产率的命令 例如

Close all documents 关闭所有文档 Copy and paste a class (automatically renames) 拷贝和粘贴一个类(自动重命名) Remove and sort using statements project wide Copy and paste references (including a project reference) 拷贝和粘贴引用(包括项目引用)

  安装以添加几个提高TFS生产率的命令 例如

Find in source control Open source folder in Windows Explorer Work item templates (can be used to set values on multiple work items at once)

  添加自定义命令 例如 添加Reflector 它在当前项目中自动打开

Select Tools > External Tools Click Add Name it Reflector and browse to the executable Enter $(TargetPath) for the Arguments

            使用项目配置加快编译

  在一次编程中你可能编译数十次 因此不要使能那些不是必不可少的东西例如代码分析和XML文档 在Debug配置下开发 只是在check in之前切换到Release配置以运行代码分析和生成XML文档 在一个大的解决方案中 这会节省不少时间  

  下面的代码展示了在Debug配置中禁止代码分析 [NextPage]

    

  下面的代码展示了在Release配置中使能代码分析

  

          让Visual Studio生成单元测试代码

  虽然VS还不能全部自动化单元测试(check out Pex) 但是VS可以生成positive unit test代码 从而为你提供一个起点 为了使用这个特征 右击一个想测试的元素并选择Create Unit Tests

  

  VS生成下面的测试方法

  

          使用接口驱动设计

  你可能从没将一个接口作为一个提供生产率的方法 但是如果由契约而不是实现来驱动你的开发过程 那么它的确是 让我举一个简单的例子 一个开发者开发业务层 另一个开发数据访问层 并且他们需要在如何实现一个新的特征达成一致 在一些业务对象设计中 业务组件将初始化数据组件(或者调用一个静态方法) 站在设计的角度这会产生问题 因为二者是紧耦合 站在生产率的角度看也有问题 因为业务层开发者依赖数据访问层的实现 接口驱动设计解决了这个问题 [NextPage]

  不是让业务组件开发者等待数据组件开发者 而是让他们一起设计和实现接口 于是两个开发者可以并行实现他们的组件 IDD也让业务开发者可以mock数据访问组件 因此消除了任何计划依赖 下面展示了设计

  

          Make a Mockery of Dependencies

  虽然你的组件可能依赖于不同的开发者开发的层或者特征 但是不要让这成为减缓你开发脚步的理由 假设你负责业务逻辑层 它依赖于数据访问层 访问层又依赖于数据库表和存储过程 Mock数据访问层而不是等待 于是你可以实现和对业务层实现单元测试 顺便说一下 你应该使用mocks 否则你的单元测试看起来更像是集成测试 我推荐Rhino Mocks

  下面是一个使用mocks的单元测试示例

  

   [NextPage]

       数据驱动单元测试

  如果你的单元测试需要多个输入才能进行完全的测试 那么你可能需要为每个可能的组合都编写一个测试方法 但是数据驱动单元测试更有效率 当运行单元测试时 它从表中装载数据 为每行调用单元测试 你可以使用TestContext DataRow属性访问当前行的数据

  

  一旦测试完成 你可以查看结果

  

cha138/Article/program/net/201311/11859

相关参考

知识大全 安装Visual Studio 2010(1)

ASP.NET开发宝典:安装VisualStudio2010(1)  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一

知识大全 安装Visual Studio 2010(2)

ASP.NET开发宝典:安装VisualStudio2010(2)  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一

知识大全 使用Visual Studio帮助系统

ASP.NET开发宝典:使用VisualStudio帮助系统  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看

知识大全 Visual Studio .NET 软件要求

VisualStudio.NET软件要求  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  Visu

知识大全 Visual Studio 2008改进版体验

VisualStudio2008改进版体验  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  Mic

知识大全 Visual Studio 2010自动执行属性

VisualStudio2010自动执行属性  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!lish

知识大全 Visual Studio 2008常用小技巧

VisualStudio2008常用小技巧  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!lishi

知识大全 安装Visual Studio帮助系统(1)

ASP.NET开发宝典:安装VisualStudio帮助系统(1)  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一

知识大全 安装Visual Studio帮助系统(2)

ASP.NET开发宝典:安装VisualStudio帮助系统(2)  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一

知识大全 visual studio2008 OpenGL开发配置

visualstudio2008OpenGL开发配置  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!