一个良好的代码风格在开发过程和后期维护过程中是必不可少的。每次在添加新类的时候都需要添加一些关于类的注释,包括创建时间、创建人、类的功能介绍、修改时间等一系列的信息,以方便以后的查找和快速了解。在Code Review过程中,良好的编码风格和合理的注释会有很大的帮助。

下面介绍一点我的编辑器中关于代码风格的配置和注释的配置.

1.关于类注释和方法注释:

类注释可以通过以下手段进行注释:

  1)修改类模板的形式:

步骤如下:

  a. 找到VS的安装路径,如:C:/vs2017,打开如下文件夹\Common7\IDE\ItemTemplates。可以看到文件夹下有这些文件模板:

如果你想对C#代码进行注释配置,打开CSharp\Code\2052,可以看到该文件夹下有class、Interface、WebClass等文件夹。打开class文件夹,

  b.修改文件权限:class.cs文件(该文件就是创建一个C#类的模板)。我们需要先设置一下管理员账户才可以修改该类:右键该文件

给当前用户分配权限即可。

  c.修改该类的内容,可以添加如下内容,当然可以进行对应的删减。该段内容我会放在文件的开始或者using引用之后。

#region << 版 本 注 释 >>
/*----------------------------------------------------------------
* 项目名称 :$rootnamespace$
* 项目描述 :
* 类 名 称 :$safeitemname$
* 类 描 述 :
* 所在的域 :$userdomain$
* 命名空间 :$rootnamespace$
* 机器名称 :$machinename$
* CLR 版本 :$clrversion$
* 作 者 :$username$
* 创建时间 :$time$
* 更新时间 :$time$
* 版 本 号 :v1.0.0.0
*******************************************************************
* Copyright @ $username$ $year$. All rights reserved.
*******************************************************************
//----------------------------------------------------------------*/
#endregion

新建一个类文件尝试一下,效果如图所示:

注: 对于不同类型的项目文件类,要对该类型的项目文件类进行修改。如果我想修改一下ASP.NET Core的类,那么需要打开Common7\IDE\ItemTemplates\AspNetCore\Code\1033\Class。

  2)使用code snippet的方式添加注释:

codesnippet 代码片段,就是使用自定义快捷键生成代码注释,也就是自定义一段代码片段,该方法可以用于类文件描述和方法描述上。步骤如下:

  a. 创建代码片段:
  在电脑的任意可访问的位置创建一个文件夹,如我在C:\VSSnippet,新建一个.snippet后缀的文件,一般文件名和你在VS中使用的快捷键名字对应。

  

  b.参照visual studio官网上关于code snippet的写法,编写代码片段。也可以直接去vs自带的代码片段中复制一份进行修改。

VS自带的代码片段位于:vs安装目录\VC#\Snippets\2052\Visual C#,我们可以复制一份cw.snippet文件到之前的文件夹下,并重命名为cm.snippet( create comments,该文件名可以随便写)

  修改文件内容如下:

<?xml version="1.0" encoding="utf-8"?>
<CodeSnippets xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet">
<CodeSnippet Format="1.0.0">
<Header>
<Title>创建代码注释</Title>
<Shortcut>cm</Shortcut>
<Description>创建注释的代码片段</Description>
<Author>King</Author>
<SnippetTypes>
<SnippetType>Expansion</SnippetType>
</SnippetTypes>
</Header>
<Snippet>
<Declarations>
<Literal>
<ID>Description</ID>
<ToolTip>功能</ToolTip>
<Default>描述</Default>
</Literal>
<Literal>
<ID>Author</ID>
<ToolTip>作者</ToolTip>
<Default>King</Default>
</Literal>
<Literal>
<ID>CreateTime</ID>
<ToolTip>创建日期</ToolTip>
<Default>@@Today</Default>
</Literal> </Declarations>
<Code Language="csharp"><![CDATA[
#region 创建描述
/***
* 功能描述: $Description$
* 作 者: $Author$
* 创建时间: $CreateTime$
***/
#endregion
$end$
]]>
</Code>
</Snippet>
</CodeSnippet>
</CodeSnippets>

  c. 在Visual Studio中应用代码片段

  打开VS IDE,工具----> 代码片段管理(快捷键Ctrl + K, Ctrl + B),将刚创建的代码片段文件夹添加到代码片段管理器中。重启VS,在文件中是输入cm(在codesnippet中定义的<Shortcut>cm</Shortcut>)

双击Tab键就可以插入代码片段了。

两种方式比较:

  优点:

  1.修改VS class模板的形式,该注释中可以包含很多信息。如作者、时间等信息

  2.使用代码注释的形式,可以在类上添加注释,也可以在方法上添加注释。

  不足:

  1.修改VS class模板,只能在类创建的时候使用,并且不能在方法上添加注释、

  2.使用代码注释的形式,有一些信息无法自动化处理,如时间等。当然可以使用VS 宏定义来定义函数,插入时间。

提高代码质量插件:

CodeMaid 可快速整理代码文件,清理不必要的代码和杂乱的格式。并在开发时实时提供代码复杂度的报告,以便帮助开发人员降低代码复杂度、提高代码质量。

VS 编码规范---- 代码注释设置的更多相关文章

  1. Eclipse编码规范——Code Templates设置

    Eclipse编码规范——Code Templates设置 Eclipse编码规范主要包括三个方面:设置Code Templates.Eclipse formatter.Checkstyle, 本篇主 ...

  2. JAVA_SE基础——编码规范&代码编写规则

    这次我来给大家说明下编码规范&代码编写规则  ↓ 编码规范可以帮助程序员在编程时注意一些细节问题,提高程序的可读性,让程序员能够尽快地理解新的代码,并帮助大家编写出规范的利于维护的Java代码 ...

  3. 《从零开始学Swift》学习笔记(Day 57)——Swift编码规范之注释规范:文件注释、文档注释、代码注释、使用地标注释

    原创文章,欢迎转载.转载请注明:关东升的博客 前面说到Swift注释的语法有两种:单行注释(//)和多行注释(/*...*/).这里来介绍一下他们的使用规范. 1.文件注释 文件注释就在每一个文件开头 ...

  4. PHP团队 编码规范 & 代码样式风格规范

    一.基本约定 1.源文件 (1).纯PHP代码源文件只使用 <?php 标签,省略关闭标签 ?> : (2).源文件中PHP代码的编码格式必须是无BOM的UTF-8格式: (3).使用 U ...

  5. 自己总结的C#编码规范--4.注释篇

    注释 注释毫无疑问是让别人以最快速度了解你代码的最快途径,但写注释的目的绝不仅仅是"解释代码做了什么",更重要的尽量帮助代码阅读者对代码了解的和作者一样多. 当你写代码时,你脑海里 ...

  6. java代码注释规范

    java代码注释规范   代码注释是架起程序设计者与程序阅读者之间的通信桥梁,最大限度的提高团队开发合作效率.也是程序代码可维护性的重要环节之一.所以我们不是为写注释而写注释.下面说一下我们在诉求网二 ...

  7. 推荐的PHP编码规范

    推荐的PHP编码规范 发布时间: 2014-05-7 浏览次数:2754 分类: PHP教程 推荐的PHP编码规范 一 编辑器设置 1. 使用Tab缩进,不要使用空格 鉴于很多编辑器在保存文件时会自动 ...

  8. iOS编码规范参考

    目录      注释 1.1  多行注释 1.2  单行注释 1.3  函数的注释   命名 2.1  常量的命名 2.2  函数的命名 2.3  变量的命名 2.3.1  成员变量 2.3.2  公 ...

  9. Python 常用 PEP8 编码规范

    Python 常用 PEP8 编码规范 代码布局 缩进 每级缩进用4个空格. 括号中使用垂直隐式缩进或使用悬挂缩进. EXAMPLE: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 ...

随机推荐

  1. java的clone()方法

    什么是"clone"? 在实际编程过程中,我们常常要遇到这种情况:有一个对象A,在某一时刻A中已经包含了一些有效值,此时可能 会需要一个和A完全相同新对象B,并且此后对B任何改动都 ...

  2. Win 10 Edge不能上网,微软商店打不开的问题

    微软商店(Microsoft Store)的 Code: 0x80072EE7 Check Your Connection问题,和Edge的Can't Reach this page的问题.网上找了很 ...

  3. codeforces675D

    Tree Construction CodeForces - 675D During the programming classes Vasya was assigned a difficult pr ...

  4. package---包

    一,包 包(package) 用于管理程序中的类,主要用于解决类的同名问题.包可以看成目录. 包的作用: [1] 防止命名冲突. [2] 允许类组成一个单元(模块),便于管理和维护 [3] 更好的保护 ...

  5. BZOJ2339[HNOI2011]卡农——递推+组合数

    题目链接: [HNOI2011]卡农 题目要求从$S=\{1,2,3……n\}$中选出$m$个子集满足以下三个条件: 1.不能选空集 2.不能选相同的两个子集 3.每种元素出现次数必须为偶数次 我们考 ...

  6. Gym - 101982F Rectangles (扫描线+线段树)

    链接:http://codeforces.com/gym/101982/attachments 思路: 问被覆盖次数为奇数次的矩阵的面积并 扫描线求矩阵面积并我们是上界赋为-1,下界赋为1,因为要求覆 ...

  7. emwin之在中断服务程序中创建窗口的结果

    @2019-04-28 [小记] 使用emwin设计器生成的程序,将该窗口创建放在中断服务程序中出现奇怪现象,非死机但功能间歇性异常,将创建窗口程序放于普通程序中则工作正常

  8. SpringBoot+thymeleaf+security+vue搭建后台框架 基础篇(一)

    刚刚接触SpringBoot,说说踩过的坑,主要的还是要记录下来,供以后反省反省! 今天主要讲讲 thymeleaf+security 的搭建,SpringBoot的项目搭建应该比较简单,这里就不多说 ...

  9. (八) Usb摄像头描述符解析

    目录 Usb摄像头描述符解析 总结 参考资料 打印设备描述符 打印配置描述符 打印接口联合体描述符 打印接口描述符 打印当前设置的额外描述符 代码解析额外的描述符 打印端点描述符 title: Usb ...

  10. 详解散列hashCode在HashMap中的使用原理

    1散列的价值在于它的速度:散列使得查询变快,它将键key保存在某处,而我们知道存储一组数组最快的数据结构是数组,所以用它来表示键的信息(注意,数组保存的是键的信息,不是键本身),由于数组是固定的,当我 ...