热门标签 | 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,然后每隔一个月对比一下,看哪些是重复的问题?养成一个良好的习惯----多写注释!尤其在关键的地方。


推荐阅读
  • 优化ListView性能
    本文深入探讨了如何通过多种技术手段优化ListView的性能,包括视图复用、ViewHolder模式、分批加载数据、图片优化及内存管理等。这些方法能够显著提升应用的响应速度和用户体验。 ... [详细]
  • PHP 编程疑难解析与知识点汇总
    本文详细解答了 PHP 编程中的常见问题,并提供了丰富的代码示例和解决方案,帮助开发者更好地理解和应用 PHP 知识。 ... [详细]
  • 2023 ARM嵌入式系统全国技术巡讲旨在分享ARM公司在半导体知识产权(IP)领域的最新进展。作为全球领先的IP提供商,ARM在嵌入式处理器市场占据主导地位,其产品广泛应用于90%以上的嵌入式设备中。此次巡讲将邀请来自ARM、飞思卡尔以及华清远见教育集团的行业专家,共同探讨当前嵌入式系统的前沿技术和应用。 ... [详细]
  • Navicat Premium 15 安装指南及数据库连接配置
    本文详细介绍 Navicat Premium 15 的安装步骤及其对多种数据库(如 MySQL 和 Oracle)的支持,帮助用户顺利完成软件的安装与激活。 ... [详细]
  • 本文详细介绍如何使用Python进行配置文件的读写操作,涵盖常见的配置文件格式(如INI、JSON、TOML和YAML),并提供具体的代码示例。 ... [详细]
  • 导航栏样式练习:项目实例解析
    本文详细介绍了如何创建一个具有动态效果的导航栏,包括HTML、CSS和JavaScript代码的实现,并附有详细的说明和效果图。 ... [详细]
  • PHP 5.2.5 安装与配置指南
    本文详细介绍了 PHP 5.2.5 的安装和配置步骤,帮助开发者解决常见的环境配置问题,特别是上传图片时遇到的错误。通过本教程,您可以顺利搭建并优化 PHP 运行环境。 ... [详细]
  • 本文介绍了在使用Visual Studio 2015进行项目开发时,遇到类向导弹出“异常来自 HRESULT:0x8CE0000B”错误的解决方案。通过具体步骤和实践经验,帮助开发者快速排查并解决问题。 ... [详细]
  • 深入理解 SQL 视图、存储过程与事务
    本文详细介绍了SQL中的视图、存储过程和事务的概念及应用。视图为用户提供了一种灵活的数据查询方式,存储过程则封装了复杂的SQL逻辑,而事务确保了数据库操作的完整性和一致性。 ... [详细]
  • 深入理解Java中的volatile、内存屏障与CPU指令
    本文详细探讨了Java中volatile关键字的作用机制,以及其与内存屏障和CPU指令之间的关系。通过具体示例和专业解析,帮助读者更好地理解多线程编程中的同步问题。 ... [详细]
  • 本文介绍了一款用于自动化部署 Linux 服务的 Bash 脚本。该脚本不仅涵盖了基本的文件复制和目录创建,还处理了系统服务的配置和启动,确保在多种 Linux 发行版上都能顺利运行。 ... [详细]
  • 本文详细介绍了如何使用 Yii2 的 GridView 组件在列表页面实现数据的直接编辑功能。通过具体的代码示例和步骤,帮助开发者快速掌握这一实用技巧。 ... [详细]
  • Android LED 数字字体的应用与实现
    本文介绍了一种适用于 Android 应用的 LED 数字字体(digital font),并详细描述了其在 UI 设计中的应用场景及其实现方法。这种字体常用于视频、广告倒计时等场景,能够增强视觉效果。 ... [详细]
  • 作为一名新手,您可能会在初次尝试使用Eclipse进行Struts开发时遇到一些挑战。本文将为您提供详细的指导和解决方案,帮助您克服常见的配置和操作难题。 ... [详细]
  • 在使用 DataGridView 时,如果在当前单元格中输入内容但光标未移开,点击保存按钮后,输入的内容可能无法保存。只有当光标离开单元格后,才能成功保存数据。本文将探讨如何通过调用 DataGridView 的内置方法解决此问题。 ... [详细]
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社区 版权所有