写点什么

C#警告波预示未来将增加新的关键字

  • 2022-06-29
  • 本文字数:859 字

    阅读完需:约 3 分钟

C#警告波预示未来将增加新的关键字

与 C# 9 和 10 一样,C# 11 也悄悄地增加了一个新的编译器警告。该警告可以防止使用全部小写的类型名称(如类、结构和接口)。

 

创建这个警告是为了方便微软在未来添加新的关键字。C#的关键只包含小写 ASCII 字母,因此,加入其他任何字母都可以防止类型名称与未来的关键字发生冲突。

 

该警告的文档并没有详细说明他们正在考虑引入哪些关键字。

背景

C#工具链一直将其信息分为三大类:编译器错误、编译器警告和静态分析警告。错误会妨碍编译器正常工作。当这些错误发生时,基本上是在说,编译器检测到了不容忽视的问题。

 

另一类是编译器警告。这意味着存在明显的问题,但编译器仍然可以生成一个输出文件。编译器警告默认是启用的,但开发者可以忽略。另外,开发者也可以要求把它们当作错误处理。

 

最后一类基本上包含“其他一切”。静态分析错误可能只有在特定类型的应用程序甚至是应用程序的特定部分中才算是问题。它们比编译器警告更容易产生误报,也就是不恰当的警告。与其他类型的警告不同,静态分析警告默认是不启用的。在 Roslyn 编译器推出之前,它们是一个完全独立的工具的一部分。所以,有相当多的开发者从来没有用过它们。

 

历史上,微软一直不愿意增加新的编译器警告。因为它们是默认启用的,添加新警告被认为是一种破坏性变化。如果添加了新的警告并启用了 TreatWarningsAsErrors,那么在 C#7 中可以编译的代码在 C#8 中可能会无法编译。

 

从 C# 9 开始,微软增加了C#警告波(Warning Waves)的概念。这是些附加的编译器警告,也就是说,不需要额外安装一个工具或包,它们默认是不启用的。要使用它们,则必须将项目文件中的AnalysisLevel设置为 5 或者更高。


作者简介:

Jonathan Allen 从 90 年代末开始就为一家健康诊所建设 MIS 项目,帮他们从 Access 和 Excel 升级到企业解决方案。在花了五年时间编写金融业自动交易系统后,他成为各种项目的顾问,包括机器人仓库 UI、癌症研究软件的中间层以及一家大型房地产保险公司的大数据需求。在空闲时间,他喜欢研究源于 16 世纪的武术,并从事相关写作。

 

原文链接:

C# Warning Waves Hint at New Keywords in the Future

2022-06-29 08:5111007

评论

发布
暂无评论
发现更多内容

腾讯连续四次上榜福布斯2023全球区块链50强

科技热闻

ONES 支持多项信创适配,打造自主可控的国产化平台

万事ONES

java培训学习后就业前景如何

小谷哥

大数据学习培训机构该怎么选择

小谷哥

ChatGPT真的可以取代基础工作岗位吗?

老张

人工智能 产业发展 ChatGPT

为什么在容器中 1 号进程挂不上 arthas?

阿里巴巴云原生

Java 阿里云 容器 云原生

基于图的下一代入侵检测系统

NebulaGraph

图数据库 安全检测 入侵检测

文件同步是什么?解析6个最佳的文件同步应用软件

镭速

软件测试 | JavaScript如何使用

测吧(北京)科技有限公司

测试

第四届OpenI/O启智开发者大会即将在深圳启动

OpenI启智社区

人工智能 开源 开发者大会 OpenI启智社区

云原生微服务应用平台 EDAS 2022 年度报告

阿里巴巴云原生

阿里云 微服务 云原生

Relocating the Docker root directory

平凡人生

Docker

docker setup mysql

平凡人生

MySQL

软件测试 | 白盒测试方法

测吧(北京)科技有限公司

测试

软件测试 | 什么是CSS

测吧(北京)科技有限公司

测试

软件测试 | 测试环境搭建

测吧(北京)科技有限公司

测试

Nacos 配置管理最佳实践

阿里巴巴云原生

阿里云 开源 云原生 nacos

解读 Java 云原生实践中的内存问题

阿里巴巴云原生

Java 阿里云 云原生

CleanMyMac X2023电脑最新版本更新内容

茶色酒

CleanMyMac X CleanMyMac X2023

软件测试 | 常用测试策略与测试手段

测吧(北京)科技有限公司

测试

软件测试 | 软件缺陷分为哪几种

测吧(北京)科技有限公司

测试

设计原则 — O 开放封闭原则

Lemoon Can

设计原则 开放封闭原则

现货合约量化交易系统开发机器人策略

薇電13242772558

量化

软件测试 | web端常见bug解析

测吧(北京)科技有限公司

测试

SpringBoot动态配置文件及项目打包部署

微枫Micromaple

maven Profile springboot 部署 项目上线

软件测试 | 黑盒测试的方法

测吧(北京)科技有限公司

测试

RocketMQ 集成生态再升级:轻松构建云上数据管道

阿里巴巴云原生

阿里云 RocketMQ 云原生

软件测试 | Bug的定位方法

测吧(北京)科技有限公司

测试

软件测试 | 什么是HTML?

测吧(北京)科技有限公司

测试

API Explorer 进阶之路 | 一篇文章快速入门!

渲染速度慢,使用云渲染会快多少?

Renderbus瑞云渲染农场

云渲染 渲染慢怎么办?

C#警告波预示未来将增加新的关键字_语言 & 开发_Jonathan Allen_InfoQ精选文章