zoukankan      html  css  js  c++  java
  • 开发中疑难问题经验总结

      解决开发中的疑难问题,是最能体现程序员水平的。开发中的问题,大多数只能呈现表面现象,如何通过表象,使用各种手段,各种工具,各种推测找到问题的根源所在,并提出解决方案。这需要程序员不仅对项目业务很熟悉,对项目代码很熟悉,对各种技术底层原理很熟悉,还需要能够熟练使用各种工具,还要具备推理能力,要大胆猜测,小心验证等心理素质。

      开发中常见问题大致可以分为以下几类:

    • 前端展示问题。前端展示问题容易判断,大多是界面展示异常。
    • 后端异常。主要是后端抛出的异常。可以通过前端弹窗来展现,或者查看日志。
    • 数据库问题。数据不能操作。
    • 网络异常。访问不到。
    • 服务器异常。服务器资源不足,包括硬盘空间不足、内存不足等。

    解决问题的思路大致分为以下几步:

    • 判断问题归类。根据问题现象,判断问题是属于哪一类。
    • 问题原因推测。根据现象推测问题出现原因。这个更多的是依靠历史解决问题的经验。
    • 查看问题相关线索。首先应该查看日志,大多数问题日志都会记录,既是没有记录,也能在日志上下文中找到蛛丝马迹。重点关注日志中的报错、入参、出参、sql语句等。前端按F12看前端输出也是一个重要线索。
    • 分析线索,得到问题结论。根据前面的推测和线索,应该可以基本得出问题结论。
    • 使用工具,查明问题。如果前面线索不足以得出问题结论,需要使用其他工具。常见的工具有:Fiddler(http查看工具)、WireShark(网络工具)、Sql Profile(数据库监视工具)、Windbug(Windows下调试工具)、JConsole(JVM监视工具)
    • 不得已调试代码。到最后,所有的手段都使用了还是不能得出问题结论,只有调试代码了。对于已经上线的问题,调试代码很困难,最好能在本地重现问题,再进行调试。调试需要细心,需要密切关注每一步的执行结果。需要掌握常用的调试技巧。
    • 证明推测。

      疑难问题的解决,对技术的深入了解是基础,对各种工具的运用是重要的辅助。

      开发中的疑难问题解决暂时总结到这里,后续再补充。

  • 相关阅读:
    Zookeeper概念学习系列之分布式事务
    序列化 反序列化 输入流 输出流
    dfs常见的配置文件中的value与description(重要)
    [转]SQL Server Reporting Services
    [转]webpack4.0.1安装问题和webpack.config.js的配置变化
    [转]Vue.js 入门教程
    [转]Webpack 入门教程
    [转]使用C#调用cmd来执行sql脚本
    [转]winform利用读取xml获取webconfig
    [转]bootstrap栅格系统的属性及使用
  • 原文地址:https://www.cnblogs.com/leanfish/p/9120826.html
Copyright © 2011-2022 走看看