Visual Studio 代码风格约束

团队内部若能统一代码风格对于日后的项目维护大有裨益,但面对厚达十几甚至几十页的代码风格规范,开发人员难免产生抵触心理。Python和Go等在语言层面就对代码风格作了一定的约束,但C#并没有,为解决这个问题,我们可以在VS中设置团队内部要统一采用的代码风格。

文中所用VS版本信息如下:

设置代码风格

在VS搜索框中搜索Code Style

我们可以自定义代码风格以及对不符合风格代码做怎样的处理,这里是按照错误进行处理

可以看到对于不符合规范的命名VS会报错并给出改建建议:

注意,这里的错误是IDE1006:Naming rule violation,编译时依然能通过(没找到在哪里设置不允许通过编译):


下面是代码风格示例代码,仅供参考:

class Person
{
    private const string FIRST_NAME = "firstName";

    private static string StaticField = "static field";

    private readonly string ReadOnlyField = "readOnlyField";

    private string _privateField;

    public Person(string privateField)
    {
        _privateField = privateField;
    }

    public void Method(int parameters)
    {
        try
        {
            var local = "";
            WriteLine(parameters);
        }
        catch (Exception)
        {
        }
        finally
        {
        }
    }
}

delegate void DelegateType(int i);

struct ValueType
{
    public event DelegateType DelegateTypeEvent;

    public void DelegateType()
    {
        if (DelegateTypeEvent != null)
        {
            for (var i = 0; i < 10; i++)
            {
                DelegateTypeEvent(i);
            }
        }
        else
        {
            throw new NullReferenceException();
        }
    }
}

interface IPerson
{
    void Say(string parameters);
}

enum WeekDays
{
    Monday,
    Tuesday
}

工具推荐

阿里团队的适用于JAVA代码风格检测插件P3C安装到IDEA中后,会对代码风格进行检测并给出改进建议

小结

统一的代码风格很重要,在编码时我们要求代码结构灵活易扩展,但对于代码风格应当讲究“死板”,不可灵活多变。

若团队内部的任一成员拿到项目代码一眼望去感觉像自己写的,那么我们就可以认为团队内的代码风格已经统一了。目前,我还不赞成过于苛求细节的代码风格约束(这种想法将来可能会变)。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏java一日一条

改善Java文档的理由、建议和技巧

我非常确定,作为开发人员我们都喜爱技术文档。我们喜欢阅读文档、写文档,更不用说维护文档了,我简直爱死它了!

971
来自专栏黑泽君的专栏

Java的日期类的时间从为什么是从1970年1月1日开始?

----------------------------------------------------------------------------- I ...

9822
来自专栏IMWeb前端团队

如何搭建高质量、高效率的前端工程体系--页面结构继承

本文作者:IMWeb 莫卓颖 原文出处:IMWeb社区 未经同意,禁止转载 {{tags: 工具建设 开发模式}} 序言 相信很多程序员都会经历两件...

2278
来自专栏13blog.site

文件上传那些事儿:多图上传、大文件上传、断点续传功能实现与分析

看了不少的教程,在系统整合搭建的过程中一般写到文件上传这一节时,基本上实现一个文件上传功能就不再继续拓展,而是就此截止转而去讲解其他的内容了,因为企业级应用开发...

1782
来自专栏腾讯IVWEB团队的专栏

如何搭建高质量、高效率的前端工程体系--页面结构继承

本系列文章将会将会围绕整个前端的开发流程出发解决这两个问题,帮助大家提高产品质量以及开发效率。本文介绍页面利用类似的继承方式以便达到页面结构以及数据重用。

1.3K0
来自专栏美团技术团队

基于 Appium 的 Android UI 自动化测试

自动化测试是研发人员进行质量保障的重要一环,良好的自动化测试机制能够让开发者及早发现编码中的逻辑缺陷,将风险前置。日常研发中,由于快速迭代的原因,我们经常需要在...

5164
来自专栏友弟技术工作室

SnippetsLab - 像纳博科夫写小说一样写代码

你可能没听过纳博科夫这个名字,但你一定听说过他的作品《洛丽塔》。这位20世纪的文学大师有着一个著名的写作习惯——使用卡片进行写作。他会在一张张卡片上写下一个又...

5758
来自专栏java一日一条

改善Java文档的理由、建议和技巧

我非常确定,作为开发人员我们都喜爱技术文档。我们喜欢阅读文档、写文档,更不用说维护文档了,我简直爱死它了!

481
来自专栏前端桃园

Javascript 是最好的语言,不服来辩

2163
来自专栏Crossin的编程教室

如何直观地理解程序的运行过程?

了解代码的执行过程是编程的基本要求。一个熟练的编程老手只需要用肉眼看着代码,就能对其运行的过程有所了解。然而对于刚接触编程不久的新手来说,这种事情就没那么显而易...

2604

扫码关注云+社区

领取腾讯云代金券