使用CodeMaid自动程序排版[转]

摘要:
前言“使用StyleCP验证命名规则”是一篇文章,它指导开发人员通过StyleCP自动验证项目中生成的程序代码是否符合命名规则。执行使用Visual Studio打开项目。在Visual Studio上方的工具栏上,打开CodeMaid菜单,然后单击Configuration以打开CodeMaid设置屏幕。扩展了CodeMaid提供的程序代码自动排版功能,使用非常方便,排版结果非常简单。幸运的是,CodeMaid开放了许多排版条件设置项目,允许开发人员调整排版条件,使排版结果更接近团队成员对程序代码输出的要求。

前言

「使用StyleCop验证命名规则」这篇文章,指引开发人员透过StyleCop这个工具,来自动检验项目中产出的程序代码是否合乎命名规则。

但是在项目开发的过程中,如果只是验证命名规则、而没有统一程序排版,项目中很容易就会出现类似下列范例的程序代码产出。这样的产出,虽然能够正常地提供项目功能、并且符合微软的命名规则,但是因为程序排版凌乱的问题,大幅降低了这份程序代码的可维护性。

  • Bad Code

    public class Class1
    {
        private string _name = "Clark";
    
        public string GetResult()
        {
            return (_count01 + _count02).ToString();
        }
    
    
    
    
        private int _count01 = 1;
    
        private int _count03 = 3;
    
        public string GetName()
        {
            return _name;
        }
    
        private int _count02 = 2;
    }

    本篇文章介绍如何透过CodeMaid这个工具,来自动整理项目中程序代码的排版,在不增加开发人员负担的前提下,让团队的程序代码产出趋于一致、大幅提高程序代码的生产质量。主要为自己留个纪录,也希望能帮助到有需要的开发人员。

    • Good Code

      public class Class1
      {
          private int _count01 = 1;
          private int _count02 = 2;
          private int _count03 = 3;
          private string _name = "Clark";
      
          public string GetName()
          {
              return _name;
          }
      
          public string GetResult()
          {
              return (_count01 + _count02).ToString();
          }
      }

      安装

      1. 首先至微软的官方网站,下载CodeMaid安装档:「CodeMaid_v0.7.4.vsix」。

        安装01

      2. 执行CodeMaid安装档:「CodeMaid_v0.7.4.vsix」,来安装CodeMaid。

        安装02

      执行

      1. 使用Visual Studio开启项目。执行01

      2. Visual Studio上方工具栏中,开启CODEMAID选单、点选Configuration来开启CodeMaid设定画面。

        执行02

      3. CodeMaid设定画面中,进入Reorganizing->General设定页面,勾选「Run organize at start cleanup」后,点击Save按钮完成设定。

        执行03

      4. 后续就可以从Visual Studio上方工具栏中,开启CODEMAID选单、点选「Cleanup all Code」来自动排版项目内的所有程序代码。

        执行04

      5. 自动排版功能执行结束之后,开启项目内的程序代码,会发现程序代码内容已经排列整齐、干净,大幅提高程序代码的可维护性。

        执行05

      延伸

      CodeMaid所提供的程序代码自动排版功能,用起来很方便、排版结果也很简洁。但是在一些细节上,总是会有些许的排版定义,不符合团队成员对于程序代码质量的要求。不过还好的是,CodeMaid开放了许多排版条件的设定项目,让开发人员可以调整排版条件,来让排版结果趋近于团队成员对程序代码产出的要求。

      延伸01

      1. Automatically run cleanup on file save

      「Automatically run cleanup on file save」:位于Cleaning->General设定页面。当该选项设定为勾选时,会在档案存盘的同时,自动执行程序代码排版功能。

      延伸02

      2. Run remove unused using statements

      「Run remove unused using statements」:位于Cleaning->Visual Studio设定页面。当该选项设定为勾选时,会在执行程序代码排版功能时,移除没有使用的using定义。(开发阶段建议不要勾选该选项,因为移除未使用的using定义,会造成使用LINQ时找不到扩充方法的问题。)

      延伸03

      3. Remove multple consecutive blank lines

      「Remove multple consecutive blank lines」:位于Cleaning->Remove设定页面。当该选项设定为勾选时,会在执行程序代码排版功能时,移除连续多行的空白行。

      延伸06

      4. Update #endregion tag with region name

      「Update #endregion tag with region name」:位于Cleaning->Updae设定页面。当该选项设定为勾选时,会在执行程序代码排版功能时,为#endregion区域卷标加上区域名称。

      延伸04

      5. Alphabetize members of the same group

      「Alphabetize members of the same group」:位于Reorganizing->General设定页面。当该选项设定为勾选时,会在执行程序代码排版功能时,依照成员类型排序之后,增加依照字母顺序排序的工作项目。

      延伸05

      参考数据

免责声明:文章转载自《使用CodeMaid自动程序排版[转]》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇bat脚本学习windows上备份mysql数据库下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

EhCache之最简单的缓存框架

一、简介 Ehcache是一个用Java实现的使用简单,高速,实现线程安全的缓存管理类库,ehcache提供了用内存,磁盘文件存储,以及分布式存储方式等多种灵活的cache管理方案。同时ehcache作为开放源代码项目,采用限制比较宽松的Apache License V2.0作为授权方式,被广泛地用于Hibernate, Spring,Cocoon等其他...

Java接口自动化测试之HTTPClient学习(四)

pom.xml  文件中dependency <dependencies> <dependency> <groupId>org.testng</groupId> <artifactId>testng</artifactId>...

webos项目中EF仓储模式的代码

参考了网上EF数据处理的代码写成 在UPDATE的方法不太好,性能可能有问题。大家如果有什么好的方法可以给我留言。 暂时没有想到 接口类 using System; using System.Collections.Generic; namespace Model.EF { public interface IRepository<TEnt...

EFCore扩展Select方法(根据实体定制查询语句)

EFCore扩展Select方法(根据实体定制查询语句)  通常用操作数据库的时候查询返回的字段是跟 我们的定义的实体是不一致的,所以往往针对UI或者接口层创建大量的Model, 而且需要手动对应字段,非常繁琐。 本文将通过表达式树解决这些重复的过程。  先贴上实现代码   Queryable 类中 的扩展方法  Select<TSource, T...

使用curses管理基于文本的屏幕--(八)

CD管理程序现在我们已经了解了curses所提供了功能,我们可以继续开发我们的例子程序。在这里所展示是一个使用curses库的C语言版本。他提供了一些高级的特性,包括更为清晰的屏幕信息显示以及用于跟踪列表的滚动窗口。完整的程序共页长,所以我们将其分为几部分,在每一部分中介绍一些函数。试验--一个新的CD管理程序1 首先,我们包含所有的头文件以及一些全局常量...

seata no available service 'null' found, please make sure registry config correct

最近学习seata的时候报了错误no available service 'null' found, please make sure registry config correct,服务名在配置文件中都有的,没办法只能跟源码了 环境springcloudHoxton.SR3+Springboot2.2.5.RELEASE+seata1.1+nacos1....