最近一直做两个产品功能的Merge工作,代码Merge过来之后,发现了很多问题。经过Trouble Shooting,最终发现归根结底都是我们Merge的问题,例如有的Code没有Merge过来,Merge过来没有经过“本地化”修改(例如注册表地址没有修改,在本产品中取不到值)等。在此期间,锻炼了自己Trouble Shooting的能力,也有了一些小感想:

1.   Debug Log很重要,要仔细认真的去看,查找原因

  这是发现Bug最直接的线索,由于Log文件一般都较大,以前自己看到这些都会头痛,没有做到认真研读。但我发现,遇到问题请教同事时,他们很重视Log,几乎做到了逐字逐句去查找原因,不放过任何一个线索(向前辈看齐)。Debug Log一定要重视,遇到问题要仔细去看,就一定会找到线索。

2.   Code要敢于去看,至少能理解其功能,最好用自己话概况其作用

  产品的代码量都很大,尤其自己是新人,接触到的都是别人开发后的代码,而且很多代码的调用层次较深,结构以及为什么这么写你可能不会理解。但不要回避代码,从中可以学到很多知识。要敢于去理解,遇到不理解的地方,及时去查资料,请教同事,会学到很多。

3.   Google胜过Baidu,多查英文资料

  例如平时遇到的编译错误等,往往在Google上会搜索到更有价值的信息,而且大部分都是英文资料,不要因为英文而退缩,而是要像其他同事一样,认真去研读,做足功能,有耐心才会搞清问题的本质,提出解决方法。

  

  最后,工作的态度很重要,对待工作要本着认真严谨的态度,遇到Trouble,一定要搞清原因,及时总结,找到解决方案,才能在不断的工作中有成长,而不只是外人看热闹,虚度时间。

  近期看书时间变少,《Effective C++》要尽快读完,《Code Review》的课程要认真准备,另外平时遇到问题,凡是自己搞清,有收获可以分享的,都会及时记录在博客上:-)

Trouble Shooting的一些感想(实时补充)的更多相关文章

  1. Linux 常见的trouble shooting故障排错

    Linux 常见的trouble shooting故障排错 备份开机所必须运行的程序对一个运维人员来说是非常有必要的.在实际生产环境中,系统和数据基本都是安装在不同的硬盘上面,因为企业最关心的还是数据 ...

  2. neutron trouble shooting - ip can not ping

    neutron创建了一个router后,显示列表如下: [root@controller01 keystone]# neutron router-port-list router +--------- ...

  3. rsyslog trouble shooting

    openstack,swift的log不输出了.trouble shooting过程 , 发现我们的程序 /var/log/swift/proxy.log等总是不输出log. 因为log rsyslo ...

  4. pydevd 一次trouble shooting

    只是一次小的trouble shooting. 關於python的遠程調試功能.但是由於思路混亂.浪費了許多時間,記錄一下整個過程.作爲改進的參考. 问题背景: 我之前一直在ubuntu上用pycha ...

  5. 【Linux】【Commands】trouble shooting命令详解目录

    1. 简介 1.1. 最近看到阿里的运维招聘需要熟练掌握以下的命令,我就针对这几个命令做一下总结,有些命令我觉得别人总结的挺好了,我就不赘述了 1.2. 还有一些其他我觉得用得到的命令的用法会在第三部 ...

  6. Ubuntu上Docker安装Trouble Shooting

    (我的环境是Mint7.1,相当于Ubuntu14.04) 1,首先,根据docker.com上的安装指导来安装docker,这里就不重复了,参考: https://docs.docker.com/i ...

  7. JSBinding / FAQ & Trouble Shooting

    Q: Why javascript file extension is .javascript?A: Because Unity treats .js files as Unity script an ...

  8. DG - dataguard trouble shooting的相关视图

    •V$DATAGUARD_STATS:显示dataguard统计信息 备库 SQL> select * from v$dataguard_stats; NAME VALUE UNIT TIME_ ...

  9. TROUBLE SHOOTING: FRM-30425

    关键字:Oracle Form buider FRM-30425 汇总 错误信息如下: FRM-30425: Summarized database item must reside in a blo ...

随机推荐

  1. __weak 和 __strong 还有Autorelease的用法

    使用容器的block版本的枚举器时,内部会自动添加一个AutoreleasePool: Autorelease对象是在当前的runloop迭代结束时释放的,而它能够释放的原因是系统在每个runloop ...

  2. docker上安装eslaticsearch

    一 elasticsearch安装 1 查找镜像: docker search elasticsearch 可以看到如下截图; 2 拉取镜像 docker pull elasticsearch 我并没 ...

  3. anglarJs分页

    首先在页面引入分页插件 <script src="../plugins/angularjs/pagination.js"></script> <lin ...

  4. 网站后台登录asp 提示错误号:-2147467259

    方法/步骤   1 asp 提示错误号:-2147467259 提示:[] 错误号:-2147467259 错误描述:操作必须使用一个可更新的查询. SQL错误 解决方法  把data文件夹的权限改下 ...

  5. STM32F030 定时器多次溢出才触发中断的问题

    前言 最近在调试项目过程中,用了 STM32F030 的定时器 16 作为系统时钟,1ms 触发一次中断,过程中遇到一些值得记录的问题. 记录 STM32F030 中定时器 16 的初始化配置如下 v ...

  6. AJAX使用说明书 基础

    AJAX简介 什么是AJAX AJAX(Asynchronous Javascript And XML)翻译成中文就是“异步Javascript和XML”.即使用Javascript语言与服务器进行异 ...

  7. msyql操作100题

    1.1.1 开启MySQL服务 /etc/init.d/mysqld start 使用/etc/init.d/mysqld start命令启动数据库的本质就相当于执行mysqld_safe --use ...

  8. Html5的datetime-local控件

    参考http://stackoverflow.com/questions/7815232/html5-input-type-datetime-vs-datetime-local-which-shoul ...

  9. shell脚本学习(1)

    格式: #!/bin/bash                              :标志一个shell脚本 #Filename:first_shell.sh          :文件名称 #a ...

  10. php连接数据库mysql数据库

    查找数据 $con = mysqli_connect('localhost', 'root', '', 'mydb'); if (!$con) { die('数据库连接失败' . mysqli_con ...