写点什么

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:5110995

评论

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

代码随想录Day34 - 贪心算法(三)

jjn0703

【专家观点】贸易企业的数智化绩效管理

用友BIP

贸易

什么是跨境数据传输。如何避免跨境数据传输出现的问题

镭速

跨境数据传输

NineData支持全版本的企业级Oracle客户端,现已发布

NineData

人工智能 数据库 oracle Oracle ACE NineData

硬核来袭!中国AI大模型峰会“封神之作”,开发者们不容错过!

herosunly

大语言模型

软件测试 | 升级MySQL

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

测试

华为云低代码平台Astro Canvas 搭建汽车展示大屏——实验指导手册

软件开发 低代码 数据可视化 华为云

大文件传输的有效可用方式

镭速

大文件传输 传输大文件

深度解读陕西省国资委最新发文,聚焦国资国企建设一流司库

用友BIP

全球司库 国资国企

从国内最早的开放银行浅聊技术创新

FinFish

技术创新 开放银行 小程序化 小程序技术

内网穿透之 ngrok

陈皮

PoseiSwap:首个基于模块化设施构建的订单簿 DEX

鳄鱼视界

这 4 个系统可靠性评估指标,可能比 MTTR 更靠谱!

LigaAI

研发管理 质量指标 研发效能度量 可靠性度量 企业号 8 月 PK 榜

git rebase介绍与可视化工具(sourceTree)提效

时常看看太阳

git git rebase sourcetree

免费MES系统:助力企业数字化转型的利器

万界星空科技

开源 数字化转型

百度APP iOS端包体积50M优化实践(五) HEIC图片和无用类优化实践

百度Geek说

ios 性能优化 企业号 8 月 PK 榜

构建高效物理计划:从逻辑查询到算子实现

KaiwuDB

KaiwuDB SQL编译 物理计划构建

直播软件APP源码iOS提交到APP store系列之上架指南

山东布谷科技

软件 直播 源码搭建 iOS APP上架 app store

基于YonGPT 的企业收入/利税经营分析,让企业经营决策更从容

用友BIP

5分钟get:Uni-App网络请求完美封装指南!

陇锦

微信小程序 uni-app 前端开发 uniapp 前端开发框架

软件测试 | 源码包安装的性能考虑

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

测试

SpringCloud Gateway 在微服务架构下的最佳实践

阿里巴巴云原生

阿里云 云原生 Spring Cloud Gateway

全链路灰度的挑战、实现思路与解决方案

阿里巴巴云原生

阿里云 云原生 全链路灰度

2023年开放原子校源行(清华大学站)成功举行

开放原子开源基金会

开源 开放原子开源基金会 清华大学

状态机的介绍和使用 | 京东物流技术团队

京东科技开发者

dsl 状态机 数学模型 企业号 8 月 PK 榜

CCIA数安委等组织发起“个人信息保护影响评估专题工作”,合合信息首批入选试点

合合技术团队

人工智能 信息安全 个人信息保护

企业税务管理为什么需要数智化转型

用友BIP

税务管理

企业诊断屋:服饰美妆电商如何用A/B测试赋能业务

字节跳动数据平台

大数据 A/B 测试 对比实验 企业号 8 月 PK 榜

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