两个时间之间是多少小时

正如我之前关于linting主题所说的 ,花时间修改代码的好处很有限,因为自动工具告诉您这样做。 更糟糕的是,这些工具并非万无一失。

例如,我们一直在针对完美无害的try-with-resources构造周围的SpotBugs警告中添加排除项,这在Java 11中不太像。类似地,SonarQube看起来对特定的静态方法有麻烦进口。 不知道为什么,浪费时间安抚这些工具。


进行静态分析并执行所说的那样的两难选择是,如果您花时间去做它所说的话,很难看到好处,但是如果您不这样做,那么可能会有一些更糟的副作用:

  • 一些代码布局开始成为人们的意见–整个团队的意见各不相同
  • 代码中存在一些晦涩的问题,没有人注意到它们
  • 总体质量和对质量的关注下降

这是第二个最令人沮丧的情况。 感谢一些静态分析工具,最近我修复了一个数字的性能,安全性和稳定性错误。 我不认为其中任何一个都是可以保证的失败,但是每个人都可能浪费我们一些稀缺的计算资源,或者给项目增加风险。

如果我没有注意整个问题,并试图将计数降到最低,我可能没有注意到这些问题。

因此,这是必须要做的。 这就像在撒粉。 如果离开它,突然有很多事情要做,情况可能会比您想象的要糟。

我希望我回来的两个小时

SonarQube的建议之一是替换Deque的Java类Stack 。 这是我们的代码:

 Stack<StringBuilder> tags = new Stack<>();  void onNewElement() { tags.add( new StringBuilder());  }  void onNewData(String data) { tags.peek().append(data);  }  void onEndElement() { save(tags.pop());  } 

我已经简化了一点。 它正在读取XML,并允许使用嵌套的层次结构,在该结构中您需要诸如元素堆栈之类的东西来允许遍历该层次结构。

我想我能做的就是用Deque代替Stack ,尤其是将LinkedList替换为实现–一个很好的灵活数据结构。

此项目的构建大约需要15分钟。

失败了

我查看了为SonarQube所做的所有更改,并开始进行有根据的猜测,以了解哪些可能具有破坏性。 尽管从本文看来,应该归咎于必须是Stack重构(restacktor?),但我还有其他一些人选,因此丢失了一些构建周期。

最终,我回到了Stack ,大约15分钟后,构建了绿色版本。

在这一点上,我要感谢过去的我,因为我编写了足够敏感的测试自动化程序来发现此问题,特别是因为它是对原来没有有用测试的旧代码库的重做。

您发现错误了吗?

一旦确定了修复程序,我就不想因为不知道发生了什么而把自己扔了, 因为伏都教... oooooh!

因此,我问自己为什么StackLinkedList可能表现不同。

然后我注意到Stack方法的使用:

  • peek –必须正确
  • pop -经典
  • add – w?

为什么我们将堆栈视为add / pop ? 当然应该push / pop吗?

就是这样。 降低实现细节,事实证明LinkedList将head元素视为堆栈的顶部,但在尾部添加了新元素(这是链表的工作方式)。 相反, Vector ,底层实现的Stack增加了结束,也不会peek ,并pop从结束。 如果您是数组,则不希望在周围乱洗元素。

时间小偷

因此,这里有两个时间小偷:

  • 有人不一致地使用API​​来实现堆栈-导致此奇怪的迁移错误
  • 该死的15分钟建立

如果我的构建只有2分钟,那么所有这些都不会花费很长时间……此测试需要大量设备才能运行。 这样做有充分的理由,但是这仍然是巨大的开销,并且需要花费实时时间。

TL; DR

如果您编写肮脏的代码,迟早它将赶上您或其他人。 整理工具虽然可能会很痛苦,但它们最终在减少基线异常方面做得很好,但是它们可以在过程中浪费您的时间。

翻译自: https://www.javacodegeeks.com/2020/05/thats-two-hours-i-wont-get-back.html

两个时间之间是多少小时

两个时间之间是多少小时_那是两个小时我不会回来相关推荐

  1. sql两个时间之间的小时差_颓废放纵和优秀自律之间,差了一万个小时

    不知道什么时候开始,"自律"这个词成为许多青年男女追求的闪亮标签. 大多数人的常态是 自律是一种稀缺而珍贵的品格,得来往往不容易,几乎没有人能从小投资得到高收益. 常常把自律挂在嘴 ...

  2. 使用Java的Calendar类计算两段时间之间的工作日的天/小时/分钟/秒数

    计算两段时间之间的工作日的天/小时/分钟/秒数 我们能经常遇到一些需求,让获取工作日的时间(当然,调休也上班也是工作日哈!),之前自己给这搞得头大,所以整理总结,把该工具类记录下来,希望大家能用到的时 ...

  3. 怎样计算两个时间之间的间隔

    怎样计算两个时间之间的间隔 1. 怎样计算两个时间之间的间隔? 间隔=Date1.getTime()-Date2.getTime();得出来的是毫秒数. 除1000是秒,再除60是分,再除60是小时. ...

  4. c# 获取两个时间之间的时间差

    c# 获取两个时间之间的时间差(时.分.秒) public static string GetTime(DateTime timeA){//timeA 表示需要计算DateTime timeB = D ...

  5. MySql计算两日期时间之间相差的天数,秒数,分钟数,周数,小时数

    计算两日期时间之间相差的天数,秒数,分钟数,周数,小时数,这里主要分享的是通过MySql内置的函数 TimeStampDiff() 实现. 函数 TimeStampDiff() 是MySQL本身提供的 ...

  6. 计算两个时间之间的工作时长

    计算两个时间之间的工作时长(小时)排除周末 package com.test;import org.apache.commons.lang3.time.DateUtils;import java.ma ...

  7. 计算两个时间之间的小时数

    由于在项目中需要计算一个任务从创建到完成操作时的工时数,在网上找了很多方法,都不是我想要的,我需要计算的是小时,而网上很多都是两个时间之间相差多少天多少小时多少分钟多少秒,好不容易找到一个差不多是我想 ...

  8. java 计算两个时间之间的间隔

    1. 怎样计算两个时间之间的间隔? 间隔=Date1.getTime()-Date2.getTime();得出来的是毫秒数. 除1000是秒,再除60是分,再除60是小时............... ...

  9. python时间差转换成天数_Python实现计算两个时间之间相差天数的方法

    本文实例讲述了Python实现计算两个时间之间相差天数的方法.分享给大家供大家参考,具体如下: #-*- encoding:UTF-8 -*- from datetime import date im ...

最新文章

  1. 免费教材丨第58期:机器学习相关汇总资料大放送(中)
  2. 判断CSS与JS是否加载完毕的方法
  3. 腾讯AI×王者荣耀「绝悟」项目首亮相:KPL秋季决赛击败顶尖战队
  4. Hibernate学习笔记--第一个Hibernate框架程序
  5. 超图三维数据处理学习摘要1
  6. 建模步骤_【设计课堂】游戏手柄建模,看这14个步骤图就够了!
  7. html图片宽度高度等比例绽放,css图片自动绽放大小,左右,上下居中
  8. 如果程序跑着跑着就崩溃了,查看内存
  9. Qt工作笔记-右键删除视图中的Item【坐标映射】
  10. 已读服务器返回为空,钉钉考勤显示已读什么意思
  11. 做咨询以来,从来坚守一个词——“系统”
  12. AES SBox的构造(python)
  13. 教训:LINUX复制文件到U盘丢失
  14. 从0开始写sql脚本到执行sql脚本。
  15. 如何自主搭建信息管理系统
  16. [HNOI2009] 图的同构
  17. 评分卡模型监控(后端分析)
  18. 【机器人】关于工业机器人控制系统,这几方面内容你必须掌握;中国3C电子智造行业优秀的机器人供应商推荐...
  19. URLRewrite,地址重写.
  20. 5-Springboot集成FLOWABLE之会签

热门文章

  1. 【每日一题】5月7日题目精讲 「火」皇家烈焰
  2. 51nod1675-序列变换【莫比乌斯反演】
  3. P2272-[ZJOI2007]最大半连通子图【tarjan,缩点】
  4. jzoj3896-战争游戏【tarjan,割点,点双联通分量】
  5. Java8使用 Optional 处理 null
  6. vue2.0 $router和$route的区别
  7. 常用数据库连接池 (DBCP、c3p0、Druid) 配置说明
  8. js遍历对象的key和value
  9. 如何查看python安装路径
  10. ERROR in multi ./src/main.js dist/bundle.js