写点什么

用 Roslyn 项目分析代码

  • 2012-04-27
  • 本文字数:620 字

    阅读完需:约 2 分钟

微软这个月在 Redmond 召开了 Lang.NEXT 大会,会上有一个演讲,演示了 Roslyn 项目这个代码分析工具。Dustin Campbell 的演讲“更深入了解 Roslyn 项目”对它做了介绍,并以一个示例项目代码的构建作为结束。

Roslyn 框架并没有打算用来作为可定制的编译器,它的目的是将 C#和 Visual Basic 的使用尽可能最大化。这两个语言的编译器都已经全部重新编写,这样 Roslyn 的 C#编译器用 C#开发,Roslyn 的 VB 编译器用 VB 开发。Campbell 发现:这让原来的编辑器中很多不合理的地方和 bug 都有机会修正。

Roslyn 的设计特性包括:

  • 不可变:对象不能改变,要想改变,只能在原来版本上创建新对象。
  • 完整:源代码重新表示,包括空格、注释、错误等等。
  • 弹性:用容错来处理错误。比如:失败的代码上几乎总是会做到完成语句,这样让分析器必须可以处理。
  • 高效:项目在构建快照上体现了效率,而且能够增量分析代码。

当 Roslyn 环境打开后,存在两个活跃的工作空间实例。第一个是传统工作空间,存留现在加载的 VS 解决方案。另一个实例是交互窗口(REPL)。这种分离有助于语句完成,并让 IntelliSense 在开发环境中的代码提示更为正确。

Campbell 指出:Roslyn 在 10 月份会以 Beta 版本提供,发布版本代码(1.0)不会与 Visual Studio 11 一同交付。实际上,它会作为未来 VS 的一部分发布。尽管 Campbell 没有明确说明:考虑到 Beta 版本支持 VS2010,看来微软会将其独立于正式的 VS 发布进行部署。

查看英文原文: Code Analysis with Project Roslyn

2012-04-27 11:092019
用户头像

发布了 479 篇内容, 共 167.3 次阅读, 收获喜欢 52 次。

关注

评论

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

Markdown 几行字符就可以生成思维导图了!

JackTian

markdown 思维导图 markdown语法 markdown编辑器 Markmap

如何优雅地实现泛型类的类型参数化

KAMI

Java 编程 反射 泛型

思维模型 - 概念篇

石云升

学习 高效 思维模型 决策

用大数据分析了一线城市1000多份岗位招聘需求,告诉你如何科学找工作

程序员柠檬

Python 数据分析

ARTS打卡-01

Geek_yansheng25

ARTS 打卡计划

Jupyter最佳实践

pydata

Linux下程序出问题不要慌,资深程序员教你6招搞定!

程序员柠檬

Linux 程序员 后台开发

ARTS-week-1

saddamwilson

ARTS 打卡计划

你真的清楚 Nginx 指令的规则吗?

子杨

nginx 运维

2020年南京第十三届物联网应用展览会

南京专业智博会

展览会 论坛会 博览会 智博会

这可能是 Markdown 写微信公众号的一款神器了!

JackTian

效率工具 markdown markdown编辑器 markdownnice 神器

使用 PCA 进行降维可视化,了解特征分布

黄大路

数据挖掘 数据分析 可视化

2020南京第十三届智慧工地装备展览会

南京专业智博会

展览会 论坛会 博览会 智博会

分布式锁🔒是个啥❓ 其实就这么点事

山中兰花草

Java redis 后端 分布式锁 开发

原创 | 使用JUnit、AssertJ和Mockito编写单元测试和实践TDD (十二)编写测试-简单测试

编程道与术

Java 编程 TDD 单元测试 JUnit

2020年亚洲南京大数据产业展览会

南京专业智博会

展览会 论坛会 博览会 智博会

2020亚洲南京第十三届人工智能机器人服务展览会

南京专业智博会

展览会 论坛会 博览会 智博会

推荐几款有意思的小众App(05.30)

静陌

产品 App

如何衡量产品需求效果

黄大路

产品经理 产品设计 运营

游戏夜读 | 记忆里的老游戏

game1night

面试造飞机系列:说下微服务接口设计原则?

程序员柠檬

分布式 微服务 后端 架构设计

原创 面试官:你说对MySQL事务很熟?那我问你10个问题

程序员柠檬

MySQL 数据库

Java 底层基础笔记(一)硬件

奈何花开

Java Linux 计算机基础

PageHelper

BitSea

10分钟白嫖我的常用的在线工具网站清单

JavaGuide

设计 在线工具 工具类网站 PDF

不忘初心,继续努力

一周思进

ARTS 打卡计划

k6新崛起的性能测试工具

风中之心

DevOps 性能 性能测试

2020亚洲智能家居全屋智能展会-南京站

南京专业智博会

展览会 论坛会 博览会 智博会

2020年南京第十三届智慧停车展会

南京专业智博会

展览会 博览会 智博会 展览会论坛会

Wireshark的使用与数据分析(一)

姬翔

github看代码效率提高10倍!因为用了sourcegraph这个工具

程序员柠檬

GitHub 程序员 效率工具

用Roslyn项目分析代码_.NET_Jeff Martin_InfoQ精选文章