当前位置: 首页 > news >正文

专业的集团网站建设搜索引擎下载

专业的集团网站建设,搜索引擎下载,云开放平台,北京建设门户网站spotbugs提示:实例方法写入静态字段。如果要操纵多个实例,要想正确就很难,这通常是不好的做法 public class MyClass {public static String myString; }public class AnotherClass {public void doSomething() {MyClass.myString "so…

spotbugs提示:实例方法写入静态字段。如果要操纵多个实例,要想正确就很难,这通常是不好的做法

public class MyClass {public static String myString;
}public class AnotherClass {public void doSomething() {MyClass.myString = "something";}
}

spotbugs插件走查结果:

Dodgy code (STYLE)糟糕的代码(风格):
该实例方法写入静态字段。如果要操纵多个实例,要想正确就很难,这通常是不好的做法。

修改后:这样就没有警告了

public class MyClass {public static String myString;
}public class AnotherClass {public void doSomething() {doAnotherThing();}public static doAnotherThing() {MyClass.myString = "something";}
}

这有什么不同吗?为什么要从实例方法写一个静态变量是不好的做法?我认为它与同步有关,但对我来说还不是很清楚.

我知道这个变量应该是final,但是我正在从一个属性文件中加载值.

它是一种混叠形式,可能是反直觉的.反直觉代码阻碍了维护的便利.

逻辑上,我们期望实例方法影响该实例的数据.我们期望静态方法影响静态数据.

AnotherClass a = new AnotherClass();
a.doSomething();
AnotherClass b = new AnotherClass();
b.doSomething();

该代码的读者可能不会立即意识到a和b的实例实际上影响相同的数据.这可能是一个错误,因为我们初始化相同的内存两次,但它是不明显的,因为我们可能需要调用每个实例的初始化似乎是合理的.

但代码是:

AnotherClass.doAnotherThing();
...
AnotherClass.doAnotherThing();

在这种情况下,它更直观,我们可能会影响相同的静态数据,这可能是一个错误.

这类似于通用版本的别名,其中同一范围内的两个变量指向相同的实例.

对于你的最后一个例子,

一个实例调用静态方法

事实上,一个实例方法调用一个静态方法不会引起标志.这个例子是有用的远远超过它可能是一个问题.

一个类的静态方法会影响另一个类的静态数据

在某种意义上,它应该产生一个不同的但类似的警告:一个类正在混乱另一个类的数据.然而,通过使静态变量public成为默认的方式,因此不需要这样的警告.

请记住,spotbugs只是在您的代码中标记潜在的可能问题,而不是每个可能的问题.您的第一个例子可能是一个潜在的维护问题,您需要检查它是否是真正的问题.你的第二个例子可能不是问题,或者是一个真正的问题,与使用不是问题的情况非常相似.

转载:http://www.voidcn.com/article/p-vtmkisbl-btp.html

http://www.lbrq.cn/news/2518723.html

相关文章:

  • 中科宁波网站建设小学生摘抄新闻2024
  • 苏州高端网站建设设计公司哪家好西安seo关键字优化
  • 商城类网站建设 数据库企业推广
  • 网页设计你若安好便是晴天作业aso搜索优化
  • 网站换新域名磁力引擎
  • 深圳高端网站建设美工免费推广引流app
  • 企业网站留言板网络推广平台
  • 网站中文域名要到期网络推广公司专业网络
  • 黄南北京网站建设seo排名诊断
  • 手机上那个网站做农产品推广比较好百度搜索优化建议
  • 搭建网站是什么意思重庆seo排名扣费
  • 网站ui外包阿森纳英超积分
  • 上海公司名字培训seo
  • 网站服务器做缓存百度推广合作
  • 网站做收藏本站那样seo站内优化培训
  • 高端定制站开发百度品牌专区怎么收费
  • 单位网站建设维护情况报告推广计划方案
  • 静态网页怎么做网站万网域名续费
  • sns社交网站 有哪些全网营销推广平台有哪些
  • 赤峰做网站多少钱世界新闻最新消息
  • 大连网站建设 青鸟传媒百度如何做推广
  • 浙江凌宇环境建设公司网站网络推广宣传方式
  • 免费网站建设视频代发新闻稿最大平台
  • 做网站人员工资网络营销项目策划书
  • 深圳龙岗网站建设公司seo优化网
  • 网页界面设计视觉空间的三维可视化太原seo全网营销
  • 用html制作网页seo推广优化外包价格
  • seo建站技术电商seo什么意思
  • 什么网站做视频给钱网络营销环境的分析主要是
  • 做付费推广哪个网站好百度推广课程
  • 学习日志22 python
  • 关于“LoggerFactory is not a Logback LoggerContext but Logback is on ......“的解决方案
  • Linux虚拟内存
  • 1.5.Vue v-for 和 指令修饰符
  • 少林寺用什么数据库?
  • 《CLIP改进工作串讲》论文精读笔记