BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

用Roslyn项目分析代码

| 作者 Jeff Martin 关注 16 他的粉丝 ,译者 郑柯 关注 3 他的粉丝 发布于 2012年4月28日. 估计阅读时间: 2 分钟 | QCon上海2018 关注大数据平台技术选型、搭建、系统迁移和优化的经验。

微软这个月在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

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我
社区评论

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT