热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

从10号线(牡丹园)地铁指示台的bug看到程序员背后的工作

今天,晚上9点下班回住的地方,和同事一起走到10号线地铁(牡丹园站)里面,看见地铁地面上有个机子,这时候地铁还没有来,于是乎我俩就走到了地铁的指示机前,是触屏的,但是不支持多点触控,点

        今天,晚上9点下班回住的地方,和同事一起走到10号线地铁(牡丹园站)里面,看见地铁地面上有个机子,这时候地铁还没有来,于是乎我俩就走到了地铁的指示机前,是触屏的,但是不支持多点触控,点了一点,感觉还可以!有一些方便大家的提示,比如:地铁出口附近的公交车有哪些?但是没有详细的哪一个公交车具体经过的站牌是哪些?有地铁的最早发车时间和最晚发车时间表,就在看这个的时候,发现了一个bug,13号线开往西直门的全程末班车的时间有一个居然是13:10分,感觉不太对劲,地铁怎么可能在13:10分停运呢、于是乎我就上网查地铁运营时间表!

 

                                            地铁乘客信息查询系统

                              

                           

                                                   红色标出的是错误的时间表

 

 

    公司网址http://www.sgs.com.cn/news_show.asp?id=1414&channel=5&classid=5

 

                       网上查询正确的结果如下:

                 

                 希望贵公司发现此bug,赶紧处理!

       看到回龙观这一行,发现时间是23:10。

       哎! ---->bug啊!这么严重的bug,数据库中插入的值肯定输入错误了,这个测试怎么测试的呢!开发人员的测试呢?QA的审批?等等!

       一系列的问题都暴露出来了!软件的开发周期是多久,开发人员的测试,测试人员的系统测试,这些测试案例怎么写的??种种因素导致了以上的错误,其实生活中我们难免出错!但怎么才能避免产品出现这么显而易见的错误呢?

        现在的软件行业都是抱着“短,平,快”的效率发展,很少人原因多花钱在测试身上,都是找一些刚毕业的做测试,开发也是一个人顶3个人用!软件行业的“高”起点收入下背后往往是一些苦逼的程序员在不停的加班,做事没有章法,别管用什么方法,老大只看结果。往往小公司都是这么干的。---->还所谓的敏捷开发。再来看看一些大的公司,华为,提交一个bug,要找3-4个人review,而且被review的人必须每行代码都必须讲清楚。否则就不允许提交---->入库。修改100行代码要写风险方案评估等等。这些看似浪费时间,降低我们的开发效率。但其实这种方法才是真正意义上的减少重复错误的出现。一些小的开发公司,往往忽略这些,每天的bug都忙着解不过来,哪有什么时间写风险评估?比如一些公司会开展分模块开发,往往都是每一个人单挑一个模块的大梁,在review的时候,往往别人都看不懂(甚至不熟悉他的模块的情况下),就匆匆签字提交,只是会负责任地问一声“验了吗?”往往在这种高压的工作环境下,人出错的概率会大一些。然后我们会重复解决一些已经解决的bug,一些bug是因为我们以为解决了,但是会引起另一个(甚至好几个bug)。我就遇到这种事!中国程序员的命运有部分就是是这么悲惨的!

        提点意见:注意总结,提交代码尽量把这个问题搞清楚,下次在出什么问题,能很快定位到什么地方!和同事多交流,这样知识是流动的,会像一条条河流流向一个方向形成大海一样。准备一个本子,写下自己每天解决的bug,然后每隔一个月对比一下,看哪些是重复的问题?养成一个良好的习惯----多写注释!尤其在关键的地方。


推荐阅读
  • 深入探讨ASP.NET中的OAuth、JWT与OpenID Connect
    本文作为前文关于OAuth2.0和使用.NET实现OAuth身份验证的补充,详细阐述了OAuth与JWT及OpenID Connect之间的关系和差异,旨在提供更全面的理解。 ... [详细]
  • 本文详细介绍了Oracle数据库中审计日志(audit trail)的配置方法及各参数选项的功能,包括如何启用系统范围的审计记录,以及如何将审计数据存储在不同的位置和格式。 ... [详细]
  • 日志记录对于软件开发至关重要,特别是在调试和维护阶段。通过日志,开发者能够追踪错误源头并了解系统的运行状态。本文将探讨如何在Django框架中有效配置和使用日志记录功能。 ... [详细]
  • 开发笔记:小程序分类页实现三级分类,顶部导航栏,左侧分类栏,右侧数据列表
    开发笔记:小程序分类页实现三级分类,顶部导航栏,左侧分类栏,右侧数据列表 ... [详细]
  • 在Android应用开发过程中,经常需要在SQLite数据库中快速插入大量数据。本文通过实例探讨了不同插入方法的效率,并提供了优化建议。 ... [详细]
  • 在J2EE开发领域,众多专业术语如PO、VO、BO、DTO、POJO及DAO常常令初学者感到困惑。本文旨在清晰解释这些术语及其相互间的关系,帮助开发者更好地理解和运用这些概念。 ... [详细]
  • 本文提供了关于WSDL(Web Services Description Language)的详细参考资料链接,包括官方文档和深入解析,旨在帮助开发者更好地理解和使用WSDL进行Web服务的开发与集成。 ... [详细]
  • 优化使用Apache + Memcached-Session-Manager + Tomcat集群方案
    本文探讨了使用Apache、Memcached-Session-Manager和Tomcat集群构建高性能Web应用过程中遇到的问题及解决方案。通过重新设计物理架构,解决了单虚拟机环境无法真实模拟分布式环境的问题,并详细记录了性能测试结果。 ... [详细]
  • 本文介绍了Kettle资源库的基本概念、类型及其管理方法,同时探讨了Kettle的不同运行方式,包括图形界面、命令行以及API调用,并详细说明了日志记录的相关配置。 ... [详细]
  • 在使用Firefox浏览器打开本地HTML文件时,尝试调用Canvas的drawImage方法可能会遇到NS_ERROR_NOT_AVAILABLE错误。本文探讨了这一问题的原因及解决方案。 ... [详细]
  • 本文详细介绍如何结合Django框架和DRF(Django REST Framework)来设计一套有效的全局异常处理系统。这套系统不仅能够妥善处理DRF引发的异常,还能兼容Django自带的admin界面异常处理逻辑。 ... [详细]
  • Android开发技巧:实现带描边的圆角图片
    本文介绍了一种在Android应用中实现带描边的圆角图片的方法。通过使用BitmapShader类,开发者可以轻松地为图片添加圆角和描边效果,提升应用的视觉体验。 ... [详细]
  • 构建首个Spring MVC应用程序
    本指南将指导您如何从零开始创建一个简单的Spring MVC应用,涵盖项目模块创建、依赖管理、核心配置及控制器开发等关键步骤。 ... [详细]
  • Android Studio 中 Activity 组件详解
    本文介绍了 Android 开发中 Activity 的基本概念、生命周期、状态转换以及如何创建和管理 Activity。通过详细的解释和示例代码,帮助开发者更好地理解和使用 Activity。 ... [详细]
  • 本文详细介绍了Android开发中的关键组件——View和ViewGroup类,以及Android平台上的两种主要事件处理方式。同时,文章还探讨了如何利用Android提供的标准布局文件来优化UI设计。 ... [详细]
author-avatar
雨滴儿茶业_455
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有