写点什么

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

评论

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

HW2 - 微信朋友圈高性能复杂度分析

WWH

架构实战营

就因为把int改成Integer,第2天被辞了

Tom弹架构

Java 架构 设计模式

2019届应届毕业生Android秋招总结,已成功入职网易云音乐

android 程序员 移动开发

2019最新中级Android面试题目,有着几篇就够了,androidwifi开发教程下载

android 程序员 移动开发

2020Android-目前最稳定和高效的UI适配方案!你头秃都没想到还能这样吧!

android 程序员 移动开发

2017-2020挑选出来最具代表性的(Java,网络相关(1),面试真题解析

android 程序员 移动开发

2020Android开发架构思考及经验总结,深入理解kotlin协程pdf

android 程序员 移动开发

架构实战营-模块二

Aha hello xzy

架构实战营 「架构实战营」

2020Android面试心得(二),【面试总结】

android 程序员 移动开发

16 个好用的 Code Review 工具,绝对干货

android 程序员 移动开发

2019届应届毕业生Android秋招总结,已成功入职网易云音乐(1)

android 程序员 移动开发

2019,一位Android中级程序员成功跳槽的面经,android屏幕适配和性能优化

android 程序员 移动开发

用脱口秀大会来讲「观察者模式」

悟空聊架构

设计模式 悟空聊架构 11月日更

2020-字节跳动,网易,华为,android开发艺术探索pdf

android 程序员 移动开发

2020Android大厂面试(五)插件化,字节Android面试必问

android 程序员 移动开发

01、泛型是什么?,flutterplugin修改

android 程序员 移动开发

2017-2020挑选出来最具代表性的(Java,网络相关,2021年字节跳动74道高级程序员面试

android 程序员 移动开发

2019-年赚钱最多的-13-个技术岗位,轻松入门flutter

android 程序员 移动开发

模块二作业

心怀架构

00后已经进入网易,下一步定位阿里,年轻人这么拼,android开发艺术探索电子

android 程序员 移动开发

一点思考

williamcai

车联网 网关

架构训练营-模块三

Geek_9de3de

架构实战营

2019年末阿里、百度等大厂技术面试题汇总(附答案,实战篇

android 程序员 移动开发

2020Android大厂高频面试题(字节跳动+阿里,android原生开发技术

android 程序员 移动开发

分析微信朋友圈高性能复杂度

二手攻城师

架构师实战营

架构实战营 - 第三期 - 模块二作业

岚哲

极客时间 架构 架构实战营

18—19年BAT大厂Android高级多套面试专题整理集合(面试资料专题包分享

android 程序员 移动开发

2014-2020分享我在Android开发中走的一些弯路,Android开发者必看避坑指南!

android 程序员 移动开发

2018年Android面试题整理,flutter下拉加载

android 程序员 移动开发

模块二的命题作业

月影之臣

架构实战营

2020Android面经,历时一个半月,斩获3个大厂offer,kotlin语法大全

android 程序员 移动开发

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