作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
关闭。这个问题是opinion-based .它目前不接受答案。
想改善这个问题吗?更新问题,以便可以通过 editing this post 用事实和引文回答问题.
3年前关闭。
Improve this question
我正在将一个开源 Java 库转换为 C#,其中有许多方法和类被标记为已弃用。这个项目是一个从头开始的机会,所以我计划完全删除它们。但是,作为从事大型项目的新手,我很担心这种情况会再次出现。由于大部分敏捷开发都围绕着现在开始工作,然后在需要时进行重构,因此 API 的弃用似乎是一个常见问题。即使我不完全确定项目的 future 方向,我是否可以采取预防措施来避免/最小化 API 弃用?
最佳答案
我不确定你能做多少。需求发生变化,如果您绝对必须确保 API 的客户端不会被更新的 API 版本破坏,那么您将不得不依赖弃用代码,直到您认为没有人使用弃用代码为止。
在代码上放置 [Obsolete] 属性会导致编译器在有任何对过时方法的引用时创建警告。通过这种方式,API 的客户,如果他们努力修复编译器警告,就可以逐渐转向新方法,而不会因新版本而中断一切。
如果您使用带有字符串的 ObsoleteAttribute 的覆盖,它会很有用:
[Obsolete("Foo is deprecated. Use Bar instead for munging widgets.")]
[TimeBomb(new DateTime(2010,1,1), "Foo will blow up! Better use Bar, or else."]
关于api - 避免弃用代码的敏捷实践?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1087296/
我是一名优秀的程序员,十分优秀!