首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >编写具有语言特性的代码

编写具有语言特性的代码
EN

Software Engineering用户
提问于 2015-02-14 20:08:14
回答 1查看 145关注 0票数 0

在C#6中,我们将(很可能)有nameof操作符,这是ArgumentNullException模式非常有用的运算符:

代码语言:javascript
复制
public void M(T x) {
    if (x == null) {
        throw new ArgumentNullException("x"); // change "x" to nameof(x)
    }
}

但是,C#6还没有发布,使用nameof的代码不会被编译器的稳定版本编译。

nameof只是一个例子,在可读性方面的差异非常小。这个问题不仅是关于这个案件,而且也是一般的情况。

是否值得(或在什么时候改进)在代码上表明代码可以在未来版本的语言/编译器中被更改为更好(更可读/更好的性能/任何其他度量)?什么样的信号更适合这个工作(仅仅是一个评论,一个TODO评论,一个项目管理中的问题等等)?

EN

回答 1

Software Engineering用户

回答已采纳

发布于 2015-02-14 20:35:41

小心不确定因素。给定的功能可以发布也可以不发布:可以推迟,也可以简单地删除。此外,迁移到语言和框架的新版本也不是一件容易的事情。例如,在Microsoft的社区中,这有时需要一个新版本的Visual,这可能会给公司带来很大的成本。

如果您仍然希望显示出可能的改进,请考虑一下新版本的语言发布后您将做些什么。你会:

  • 遍历整个代码库并尽可能地修改这个东西?
  • 或者什么也不做,等到你维护一段特定的代码才能使用新的语言特性?

在第一种情况下,TODO注释或票证看起来是合适的,但您也可以考虑什么也不做,因为您无论如何都要浏览整个代码库。

在第二种情况下,为维护人员提供一个简单的注释。

票数 5
EN
页面原文内容由Software Engineering提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://softwareengineering.stackexchange.com/questions/273238

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档