zoukankan      html  css  js  c++  java
  • 第一次Online项目风波

      刚才接到电话说今天上线的项目出现了问题,进入安全设置后没有进入相应的页面,并且有一个安全问题的下拉列表也没有正常显示。回想了一下代码,发现原因是之前在数据库中添加了新的字段并且添加了新的数据,这就导致对旧数据的访问结果会出现问题,因此重新写了一个访问数据的方法。这么做本意是好的,但是成功的前提条件是数据库中数据应该有效。

      在测试的时候并没有发生相同的问题,原因是因为在测试之前就已经把相关的SQL发给测试并更新了数据库,这样自然不会出状况,可是在实际成产环境中,是要先上传代码,同时修改数据库,之后才可以更新数据库。而这次问题的直接原因就是在上传至生产后没有及时的更新数据,导致了查询返回结果不正确,然后波及了一大片人。

      通过这次事件,需要吸取一些教训:

      1。在对老项目进行修改时,要充分考虑到向前兼容,由于新的方法只是考虑到了更新数据库的理想情况,并没有考虑到实际可能遇到的问题,往往在实际环境中会出现问题,会牵一发而动全身。

      2。要对自己改动的所有地方做到心中有数,要养成记录每一次修改的习惯,这样不仅可以在发生问题的时候方便的找到原因,并且可以方便测试,防止有遗漏,要牢牢记住“好记性不如烂笔头”!

      3。永远不要存有侥幸心理,不要认为测试通过那么在实际环境中可以顺畅的跑起来,心里牢记:Bug是永远存在的!

      4。保持谦逊谨慎的态度,写程序是一件细心的事情,现在写的代码不仅仅是自己看到,在以后还会有很多人看到,而online项目还会被更多的人看到,能被别人看到自己的代码是一项光荣的事情,所以要保持良好的代码风格,条理清晰,简洁有效,易于阅读,否则会被所有看到的人耻笑的!

      5。所有修改的代码都要写清楚注释,不论是自己创建的,还是修改别人的(//update  by author:ljw  date:2012-9-13 0:24:52   //update start  //update end)

      6。有问题要及时说出来,不论大小,开发过程中的沟通问题带来的麻烦有时要比编码大的多。

  • 相关阅读:
    k8s 权限控制初探
    golang gRPC 入门
    gpushare-scheduler-extender 升级依赖引发关于 golang dep 工具的思考
    admission webhook 初探(编译篇)
    以 gpushare-device-plugin 为例,探究 Resource yaml 配置
    编译 gpushare-device-plugin
    浅谈 docker 挂载 GPU 原理
    CCF计算机职业资格认证考试题解
    优达学城机器学习工程师纳米学位项目介绍
    IEEEXtreme 极限编程大赛题解
  • 原文地址:https://www.cnblogs.com/lvjianwei/p/2682686.html
Copyright © 2011-2022 走看看