使用Java注解不正确的方法

几乎没有什么@Deprecated没有适当的文档看到@Deprecated方法更令人生气的了。 我感到失落。 我应该仍然使用该方法吗? 可能这不是开发人员的意图,这就是为什么他/她添加了弃用注释。 我应该使用其他东西吗? 所以…。

使用@Deprecated的规则是什么?

规则#1:做Javadoc怎么做

每当您不赞成使用方法时,请创建一个JavaDoc,该JavaDoc告诉程序员如何不再使用该方法。 不仅要说“不赞成使用此方法,请不要使用它”。 这正是弃用注释和JavaDoc @deprecated单词所说的。 没有必要用英语重复它。 目标读者是Java程序员,应该知道过时意味着什么。

为新方法命名,以替代旧方法。 (使用@link !)这可能不够,也可能不够。 新方法将包含一些说明如何使用它的文档。 不要在JavaDoc中重复(文本或含义)。 只是不要重复自己,文档也应该干燥。 另一方面,您可能要描述如何用新的电话替换旧的电话。 您可能会提示重构。

规则2:不要Javadoc如何

删除旧的JavaDoc文档。 有人可能会争辩说,维护旧代码的用户可能仍然需要它。 事实是,它们在库的旧版本中使用该方法的旧版本。 旧版本的文档仍然存在,它们被冷冻雕刻成石头(或者雕刻成版本库中的发行版)。 弃用该方法的实际版本不应包含过时的文档。 这将鼓励程序员继续使用该方法。 有一种使用不推荐使用的方法的方式:不使用它。 如上规则1中所述,JavaDoc应该仅是当前的描述。

规则3:JavaDoc中不得道歉

不要在JavaDoc中解释为什么不赞成使用该方法。 您是负责任的开发人员。 这是你的决定。 您做出了选择。 其他人必须忍受它。 如果您愿意,可以写一篇关于建筑决策背景的博客。 这可能会有所帮助,但是JavaDoc并不是放置它的地方。

不推荐使用的API JavaDoc仅用于解释如何不使用。

重点是如何 。 不是“为什么不使用它”。

规则4:不赞成使用

如果您想弃用一种方法,那就去做吧! 如果您害怕用户,并且不想让他们的生活变得悲惨而弃用某种方法,那么此决定将使您的生活变得悲惨。 采取所有措施以拥有尽可能长的时间不需要弃用的API。 但是,如果需要弃用某些东西,请立即将其丢弃。 不要感到内,为什么在设计api时就看不到未来。 我们谁也看不到未来完美。 毕竟,生活对未来是无聊的。

如果您对stakcoverflow有关此主题的意见感兴趣,请访问链接的页面。 或者,如果您愿意,可以在这里开始一场火焰大战。 我很

参考: Java Deep博客上的JCG合作伙伴 Peter Verhas 不赞成使用Java注释 。

翻译自: https://www.javacodegeeks.com/2014/02/use-java-annotation-deprecated-the-right-way.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/364686.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

easypanel mysql错误_Easypanel v1.6(虚拟主机控制面板)图文使用教程

一、Easypanel软件简介:Easypanel是一款虚拟主机管理工具,它支持php(windows系统还支持asp、asp.net)、磁盘配额、在线文件管理、在线web软件安装,是一款集虚拟主机、ftp、mysql等功能为一体的管理系统,本身还集成了kangle web服务…

游戏、脑洞大开1(密码简单破译)

“二八”妙龄写密码,看谁聪明“爱死他”。 密文:766C7273626F76706A5E6F715F7271766C72706D626B71716C6C71666A62 注意:(1)此题由正心41上课的同学做 (2)第一个提交,答案&#xff1a…

html-字体属性

<!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>Title</title><style>* {margin: 0;padding: 0;}/*font-family 字体类型浏览器默认的字体是微软雅黑&#xff0c;字体中有多个字体的时候&…

thinkPHP利用ajax异步上传图片并显示、删除

近来学习tp5的过程中&#xff0c;项目中有个发帖功能&#xff0c;选择主题图片。如下&#xff1a; 利用原始的文件上传处理&#xff0c;虽然通过原始js语句能实时显示上传图片&#xff0c;但是这样的话会涉及很多兼容问题。使用ajax技术&#xff0c;实现选择性删除所选图片功能…

我喜欢构建器模式的三个原因

有三种方法可以用Java编程语言创建新对象&#xff1a; 伸缩构造函数&#xff08;反&#xff09;模式 Javabeans模式 建造者模式 与其他两种方法相比&#xff0c;我更喜欢使用构建器模式。 为什么&#xff1f; Joshua Bloch描述了构建器模式以及在Effective Java中使用它的…

表单php跳转页面跳转,form表单页面跳转方式提交练习

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼//form表单提交练习/*新建一个form.html网页用来书写前端HTML表单*/表单提交练习姓名:年龄:电话:地址:QQ:自我评价://以上功能可自己添加或修改/*在form.html网页的基础上新建一个foms.php网页关联之前的form.html网页并书写php测试…

.NetCore模拟Postman的BasicAuth生成Authrization

一、思路 BasicAuth 是一种简单权限&#xff0c;传输UserName<userName>,Password<password> 1.用:连接Username,Password 2.进行Base64编码 3."Basic空格"拼接 二、代码示例 string authorization $"{userName}:{password}"; var authorizat…

Vue项目页面跳转时候的,浏览器窗口上方的进度条显示

1.安装&#xff1a; cnpm install --save nprogress 2.在main.js中引入&#xff1a; 1 import NProgress from nprogress 2 import nprogress/nprogress.css 3.在main.js中进行配置&#xff1a; 1 NProgress.configure({ 2 easing: ease, // 动画方式 3 spee…

使用Spring跟踪应用程序异常

几周前&#xff0c;一位同事要求我花一个星期的时间做后援&#xff0c;因为他需要一个掩护&#xff0c;而他度过了一个赚钱的假期&#xff0c;而他找不到其他人。 当我刚完成一个特别复杂的编码项目并感到有些疲倦时&#xff0c;我说“是”。 毕竟&#xff0c;改变对我有好处。…

php redis.dll php5.6,在Windows 64位下为PHP5.6.14安装redis扩展

一.php安装redis扩展1.使用phpinfo()查看当前版本的信息2.根据PHP版本号&#xff0c;编译器版本号和CPU架构选择php_redis-2.2.5-5.6-nts-vc11-x64.zip和php_igbinary-1.2.1-5.5-nts-vc11-x64.zip下载地址&#xff1a;http://windows.php.net/downloads/pecl/snaps/redis/2.2.5…

js sort方法根据数组中对象的某一个属性值进行排序(实用方法)

js sort方法根据数组中对象的某一个属性值进行排序 sort方法接收一个函数作为参数&#xff0c;这里嵌套一层函数用来接收对象属性名&#xff0c;其他部分代码与正常使用sort方法相同. var arr [{name:zopp,age:0},{name:gpp,age:18},{name:yjj,age:8} ];function compare(pr…

洛谷 P1018乘积最大

题目描述 今年是国际数学联盟确定的“20002000――世界数学年”&#xff0c;又恰逢我国著名数学家华罗庚先生诞辰9090周年。在华罗庚先生的家乡江苏金坛&#xff0c;组织了一场别开生面的数学智力竞赛的活动&#xff0c;你的一个好朋友XZXZ也有幸得以参加。活动中&#xff0c;主…

matrix derivatives

来源&#xff1a;cs229 stanford Machine Learning Notes转载于:https://www.cnblogs.com/pertinencec/p/10082965.html

Project Student:维护Webapp(只读)

这是Project Student的一部分。 其他职位包括带有Jersey的 Web服务 客户端&#xff0c;带有Jersey的 Web服务服务器 &#xff0c; 业务层 &#xff0c; 具有Spring数据的持久性 &#xff0c;分片集成测试数据 &#xff0c; Webservice集成和JPA标准查询 。 当我开始这个项目时…

基于vue的无缝滚动组件

vue-seamless-scroll A simple, Seamless scrolling for Vue.js 在awesome上一直没有发现vue的无缝滚动组件&#xff0c;在工作之余写了个组件&#xff0c;分享出来希望大家一起学习进步。Demo https://github.com/chenxuan0000/vue-seamless-scroll/index.html Installatio…

教务管理及教材订购系统设计文档

教务管理及教材订购系统设计文档目录 一、概述 1.1 开发背景 1.2 使用技术 1.3运行环境 1.4 设计目标 1.4.1权限管理 1.4.2信息管理 1.4.3选课管理 1.4.4 成绩管理 1.4.5教材订购 二、功能分析划分 2.1信息管理 2.1.1班级信息管理 2.1.2专业信息管理 2.1.3课程信息管理 2.1.4学…

关于构造器中的super()

1、为什么在子类的constructor里面要加一句super&#xff08;&#xff09;&#xff1f; 答&#xff1a;如果子类用了extends的关键字继承的父类&#xff0c;那么子类在使用构造器的时候就要加super&#xff08;&#xff09;语句&#xff0c;这是语法规范&#xff0c;就是这么定…

php 复制行,phpstorm怎么快速复制当前行?

qq_花开花谢_0PhpStorm 默认快捷键ctrlj 插入活动代码提示ctrlaltt 当前位置插入环绕代码altinsert 生成代码菜单Shift Enter 新一行ctrlq 查看代码注释ctrld 复制当前行ctrly 删除当前行ctrlalty 刷新项目缓…

Project Student:维护Webapp(可编辑)

这是Project Student的一部分。 其他帖子包括带有Jersey的 Web服务 客户端&#xff0c;带有Jersey的 Web服务服务器 &#xff0c; 业务层 &#xff0c; 具有Spring数据的持久性 &#xff0c;分片集成测试数据 &#xff0c; Webservice集成 &#xff0c; JPA标准查询和维护Webap…

express接受get数据

server.use(/,function(req,res){res.writeHead(200, { content-type:text/html;charsetutf-8});var namereq.query[name]; //直接req.query[参数名称]&#xff1b;var pwdreq.query[pwd];if(!users[name]){res.write("不存在该用户");}else if(users[name]!pwd){re…