首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何正确有效的报 Bug

其实对于提交 bug 的标准,我一直都有在团队进行强调,并且以身作则,但是大部分都是针对可以联系到开发的情况,至少说是有一个可以沟通的环境的(可以当面沟通,或者拿代码说话),不像是这次,就算怀疑是被偷偷修复了...所以我顺手把之前的标准做了下改进,把本次问题的情况也可以涵盖进去,自己踩过的坑,就算给其他人垫背了。...; 3.进行关联场景的验证,尽可能确定出现问题的关键要素,可以把验证过的场景都补充到 bug 说明中; 4.确定关键要素后,尽可能的去定位问题出现的技术原因,避免只是简单的现象描述; 5.就算问题很明显...,我其实是点击「从本公众号已群发的消息中进行选择」链接来获取我的公众号文章列表的,但是为了方便第三方重现,我特意改成用公众号名称搜索的方式,因为我确认过,两个路径操作的结果相同,当然,也可能因此被怀疑是做宣传用的...,那就只能加个括号备注了,很无奈; 3.公众号文章内添加链接一共有三个路径,一个是直接贴链接,一个是搜索公众号再搜文章,还有一个是从自己公众号文章列表选取,后面两个方式就是出问题的情况,我在重现步骤中已经描述了

90960
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    not null 和 default 的正确打开方式

    其实最近看代码,发现好多地方实体以及数据库DDL语句关于空值和默认值不是很统一,有时候排查问题会让你很日了狗,在最佳实践和标准的选择上,归根接地是一场小的生产力的革命,只有生产力的革命才能真正的达到降本增效...POJO类不要使用基础类型,使用包装类型 至于基础类型和包装类型有什么区别这里不说了。如果使用基础类型,byte和boolean等,实例化的对象也是不为空的,这给下游判断增加很大负担。...前两个看到关于重构系统的十六字心法,非常形象和贴切。旧的不变,新的创建。一步切换,旧的再见。...“旧的不变”是指先不动旧方法;“新的创建”是指创建一个跟原来方法功能相同的新方法,你可以通过先复制再重构的方式,来得到这个新方法,也就是整个系统的一个增量;“一步切换”是指,在充分测试之后,新的方法可以完全替代旧方法了...而增量演进原则可以有效解决这个问题。

    1.5K20

    正确的用户拖拽方式

    在设计交互时,为了让拖拽的体验更真实,需要给用户提供很多反馈效果和提示。 大部分产品都只做了一部分反馈效果,用起来也够了,但更充足的反馈能够带来更好的体验。...下图就是一个常见的反例: 为了视觉效果的简洁,可以默认状态可以不展示拖拽隐喻,但悬停时一定要有拖拽隐喻。 点阵图标是现在最主流方式,不论移动端还是桌面端都通用。...下图是优化后正确的效果: 通过图标和指针,也能暗示拖动的方向,减少学习成本。 2. 拖拽状态 拖拽过程中,主要有两方面问题需要解决:拖拽对象不突出和拖拽对象遮挡背景,以下反例中都能体现。...下图是优化后正确的效果: 6. 选中状态 不知道大家有没有过这样的经历,把一个东西拖拽到另一个地方,拖完后就忘记刚刚拖的是什么了。 尤其是在这过程中页面还跳动一下,就完全找不着北了。...如果拖动操作较为复杂,涉及的对象多,就建议增加这个选中态,方便查找。 下图是优化后正确的效果: 选中状态不太适合用在移动端,但移动端本身也不适合复杂的拖拽操作。

    93910

    API 演进的正确方式

    但在演进过程中,开发者需要特别小心,以避免破坏现有用户或系统的功能。正确的 API 演进方式以下是一些在 API 演进过程中应该遵循的最佳实践和原则:1....版本控制:明确版本策略API 版本控制是确保 API 演进不破坏现有客户端的一种方式。通过版本控制,API 可以随着时间的推移逐步添加新功能或更改,同时保持兼容性。...这是最常见的方式,便于在 URL 中明确标识版本号。...API 文档和版本管理的同步API 文档是程序员和开发团队之间的重要桥梁。版本更新时,API 文档也需要随之更新,并清晰标识不同版本的差异。...清晰的错误处理和反馈随着 API 的变化,错误处理和反馈也要随着更新,以便开发者能迅速定位问题并解决。清晰的错误码和描述:每次 API 更新时,确保新的错误码和响应格式清晰明确,便于开发者理解。

    8110

    打开orika的正确方式

    缘起 架构分层 开发分布式的项目时,DO持久化对象和DTO传输对象的转换是不可避免的。...其二,远程调用需要额外注意网络传输的开销,如果生产者方从数据库加载出了一个一对多的依赖,而消费者只需要一这个实体的某个属性,多的实体会使得性能产生下降,并没有很好的方式对其进行控制(忽略手动set)。...可能有更多痛点,由此可见,共享持久层,缺少DTO层时,我们的系统灵活性和性能都受到了制约。...可以看到几乎每个方法都传入了一个Type,用于获取拷贝类的真实类型,而不是传入.class字节码,下面介绍正确的打开姿势: @Testpublic void genericTest1() { MapperFactory...,不用担心原始类和克隆类指向同一个对象的问题。

    3.8K110

    BeanUtil的正确使用方式

    shigen日更文章的博客写手,擅长Java、python、vue、shell等编程语言和各种应用程序、脚本的开发。记录成长,分享认知,留住感动。...现成的工具类简单又安全,自己写的万一哪天出了问题呢。 这里的beanUtil 我首推hutool,它的工具类的真的太丰富了,真的感觉它太懂中国的程序员了。...这个在实际的开发中还是很实用的,具体场景具体的分析。 和之前一样,代码案例在shigen的gitee上,感兴趣的伙伴可以自行去查看。...以上就是今天分享的全部内容了,觉得不错的话,记得点赞 在看 关注支持一下哈,您的鼓励和支持将是shigen坚持日更的动力。...同时,shigen在多个平台都有文章的同步,也可以同步的浏览和订阅: 平台 账号 链接

    26910

    按钮样式的正确方式

    按钮样式的正确方式 如果你正在建立一个网站或一个web应用,你可能会用到按钮,也许看起来像按钮的链接。不管怎样,让这些正常展示是很重要的。...使用正确的元素有几个优点:它对搜索引擎友好(尤其是链接!),它适用于键盘导航,它提高了所有用户的可访问性。 尽管如此,开发人员很少使用元素。...在整个Web上,我们可以看到很多触发JavaScript操作的按钮,仔细检查后发现它们是用,或编码的。 为什么元素如此不受待见?...Safari(11.1)似乎更聪明并避免了这个问题。 我们可以使用新的: :focus-visible伪类(草稿规范)来解决此问题。....btn:focus:not(.focus-visible) { box-shadow: none; } 一个更简单的解决方案是只为focus-visible类声明焦点样式,但如果polyfill

    3.7K20

    java安全编码指南之:lock和同步的正确使用

    点击上方的蓝字关注我吧 程序那些事 ? 简介 在java多线程环境中,lock和同步是我们一定会使用到的功能。那么在java中编写lock和同步相关的代码之后,需要注意哪些问题呢?一起来看看吧。...使用private final object来作为lock对象 一般来说我们在做多线程共享对象的时候就需要进行同步。java中有两种同步方式,第一种就是方法同步,第二种是同步块。...类变量是和class相关的,而实例变量是和class的实例对象相关的。 那么我们在保护类变量的时候,一定要注意sync的也必须是类变量,如果sync的是实例变量,就无法达到保护的目的。...正确释放锁 在持有锁之后,一定要注意正确的释放锁,即使遇到了异常也不应该打断锁的释放。 一般来说锁放在finally{}中释放最好。...:方法编写指南 2 ECMAScript 6新特性简介 3 java安全编码指南之:死锁dead lock ?

    85731

    Android:SwipeRefreshLayout和ViewPager滑动冲突的原因和正确的解决方式

    2017.6.16 修改文章中的一些错误 ##一、前言 急着解决问题的直接看博文的最后面吧,或者点这里跳转过去,正确的解决方式就在那。...SwipeRefreshLayout需要套在ScrollView和ListView上的时候才表现的比较友好,在其他ViewGroup上有点问题,不知道为什么,到时候去看下源码。...二、目前网上流传的解决方式 我网上找解决方法的时候,发现无非都是两种方式。...有目的性的分析,我们只需要分析和事件冲突相关的源码,所以只注释的关键部分。...重写SwipeRefreshLayout的onIntercept方法就可以很简单的解决了。 思路: 因为下拉刷新,只有纵向滑动的时候才有效,那么我们就判断此时是纵向滑动还是横向滑动就可以了。

    1.5K10

    空格URL编码的正确使用姿势

    1、简介        空格目前有两种不同的编码方式,一种是在HTML4中定义的,而另一种是在RFC-3986中定义的。...本文将简要介绍这两种编码方式,以及会给我们的开发工作带来什么样的问题,最后给出一些编码建议。...1.2 RFC-3986编码方式 RFC-3986中采用统一的编码方式,字符的编码格式为:%HH(H为十六进制字符), 并没有对空格做特殊处理。...编码建议     其实避免上面错误的方法很简单,就是在开发中我们要统一客户端和服务端的编码方式,而不能两者混用。建议客户端和服务端同时使用RFC-3986编码方式,将请求参数全部编码成%HH格式。...当然为了保证正确的编码解码,统一的字符集也不可缺少,最好都使用UTF-8。 3.

    3.3K70

    ThreadPoolExecutor的submit正确的使用方式

    项目场景: 线程池的地方用的还是挺多的,一般来说用的多的还是execute方法,submit方法还是用的挺少的,一般ThreadPoolExecutor 的 submit 方法通常用于将一个任务提交到线程池中执行...).append(queue.size()); } return info.toString(); } ---- 原因分析: 提示:跑了一次看到日志按照单线程的方式执行...:34 INFO UtilsTest :123 - thread name start:command-thread-4======== 原来submit的方式用错了...最后只能修改业务逻辑,因为对执行结果不是特别需求,所有可以改成execute方式,当然如果逻辑对返回值的需求特别的可以解耦,使用生产者消费者模式,一边计算一边处理,实现逻辑可以这样,在submit...总结 习惯了用execute就忘记了submit的正确使用方式,惯性是很恐怖的,还是得多多跑跑单元测试。

    50820

    如何设置条码数据的对齐方式

    我们在使用条码软件制作条形码的时候,条码的数据默认是在条形码下方居中显示的。有一些用户因为需要可能会将数据位置做一个调整,比如条码数据居左显示、居右显示、两端分散对齐等。...点击“条码”按钮,在软件中绘制一个条形码,可以看到条码数据默认是在条码下方居中显示的,点击软件右侧的左对齐按钮,数据就显示在条码的左侧了。...01.png   如果点击右对齐,条码数据就显示在条形码的右侧。 02.png   点击两端对齐,条码数据会均匀地分散在条形码的两端。...03.png   以上就是条码打印软件中条码数据在条码下面居左、居右以及两端分散显示的具体实现方法,想要了解更多有关制作标签的操作方法,可以持续关注我们。

    1.9K20

    Python发射导弹的正确方式

    博客: http://www.cnblogs.com/webRobot ❈—— ——此文以纪念南京大屠杀79周年 今天Toby教你如何用python的basemap包绘制轰炸东京的地图。...在数据可视化过程中,我们常常需要将数据根据其采集的地理位置在地图上显示出来。比如说我们会想要在地图上画出城市,飞机的航线,乃至于军事基地等等。通常来说,一个地理信息系统都会带有这样的功能。...今天我们讨论如何在Python上实现,并且使用免费的工具包。 matplotlib是Python常用的数据绘制包。它基于numpy的数组运算功能。...matplotlib绘图功能强大,可以轻易的画出各种统计图形,比如散点图,条行图,饼图等。matplotlib常与numpy和scipy相配合,用于许多研究领域。...这样的地理绘图有助于读者理解空间相关的信息。

    1.5K100

    打开Shapefile文件的正确方式

    Shapefile文件简介 Shapefile文件是美国ESRI公司发布的文件格式,因其ArcGIS软件的推广而得到了普遍的使用,是现在GIS领域使用最为广泛的矢量数据格式。...官方称Shapefile是一种用于存储地理要素的几何位置和属性信息的非拓扑简单格式。 一般地,Shapefile文件是多个文件的集合,至少包括一个shp,shx以及dbf文件。...shx索引文件用于存储几何数据的索引信息,包含对主文件中每个记录长度的描述(注意不是空间索引) dbf表文件是使用dBase数据库表文件进行空间属性数据存储的文件 所以,我们如果要自己完全从底层写代码解析...Shapefile文件的话,需要根据shx文件中的信息读取shp中的二进制数据并转化为几何对象,然后再读取dbf表格,将属性添加到几何对象上就完成了对一个Shapefile文件的解析....GDAL中的空间要素模型是按照OGC的Simple Feature规范实现的,有兴趣的童鞋可以参考官方文档:Simple Feature Access 使用GDAL打开Shapefile文件 下面的例子演示了如何打开

    2.8K20
    领券