Trouble Shooting的一些感想(实时补充)
最近一直做两个产品功能的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的一些感想(实时补充)的更多相关文章
- Linux 常见的trouble shooting故障排错
Linux 常见的trouble shooting故障排错 备份开机所必须运行的程序对一个运维人员来说是非常有必要的.在实际生产环境中,系统和数据基本都是安装在不同的硬盘上面,因为企业最关心的还是数据 ...
- neutron trouble shooting - ip can not ping
neutron创建了一个router后,显示列表如下: [root@controller01 keystone]# neutron router-port-list router +--------- ...
- rsyslog trouble shooting
openstack,swift的log不输出了.trouble shooting过程 , 发现我们的程序 /var/log/swift/proxy.log等总是不输出log. 因为log rsyslo ...
- pydevd 一次trouble shooting
只是一次小的trouble shooting. 關於python的遠程調試功能.但是由於思路混亂.浪費了許多時間,記錄一下整個過程.作爲改進的參考. 问题背景: 我之前一直在ubuntu上用pycha ...
- 【Linux】【Commands】trouble shooting命令详解目录
1. 简介 1.1. 最近看到阿里的运维招聘需要熟练掌握以下的命令,我就针对这几个命令做一下总结,有些命令我觉得别人总结的挺好了,我就不赘述了 1.2. 还有一些其他我觉得用得到的命令的用法会在第三部 ...
- Ubuntu上Docker安装Trouble Shooting
(我的环境是Mint7.1,相当于Ubuntu14.04) 1,首先,根据docker.com上的安装指导来安装docker,这里就不重复了,参考: https://docs.docker.com/i ...
- JSBinding / FAQ & Trouble Shooting
Q: Why javascript file extension is .javascript?A: Because Unity treats .js files as Unity script an ...
- DG - dataguard trouble shooting的相关视图
•V$DATAGUARD_STATS:显示dataguard统计信息 备库 SQL> select * from v$dataguard_stats; NAME VALUE UNIT TIME_ ...
- TROUBLE SHOOTING: FRM-30425
关键字:Oracle Form buider FRM-30425 汇总 错误信息如下: FRM-30425: Summarized database item must reside in a blo ...
随机推荐
- __weak 和 __strong 还有Autorelease的用法
使用容器的block版本的枚举器时,内部会自动添加一个AutoreleasePool: Autorelease对象是在当前的runloop迭代结束时释放的,而它能够释放的原因是系统在每个runloop ...
- docker上安装eslaticsearch
一 elasticsearch安装 1 查找镜像: docker search elasticsearch 可以看到如下截图; 2 拉取镜像 docker pull elasticsearch 我并没 ...
- anglarJs分页
首先在页面引入分页插件 <script src="../plugins/angularjs/pagination.js"></script> <lin ...
- 网站后台登录asp 提示错误号:-2147467259
方法/步骤 1 asp 提示错误号:-2147467259 提示:[] 错误号:-2147467259 错误描述:操作必须使用一个可更新的查询. SQL错误 解决方法 把data文件夹的权限改下 ...
- STM32F030 定时器多次溢出才触发中断的问题
前言 最近在调试项目过程中,用了 STM32F030 的定时器 16 作为系统时钟,1ms 触发一次中断,过程中遇到一些值得记录的问题. 记录 STM32F030 中定时器 16 的初始化配置如下 v ...
- AJAX使用说明书 基础
AJAX简介 什么是AJAX AJAX(Asynchronous Javascript And XML)翻译成中文就是“异步Javascript和XML”.即使用Javascript语言与服务器进行异 ...
- msyql操作100题
1.1.1 开启MySQL服务 /etc/init.d/mysqld start 使用/etc/init.d/mysqld start命令启动数据库的本质就相当于执行mysqld_safe --use ...
- Html5的datetime-local控件
参考http://stackoverflow.com/questions/7815232/html5-input-type-datetime-vs-datetime-local-which-shoul ...
- shell脚本学习(1)
格式: #!/bin/bash :标志一个shell脚本 #Filename:first_shell.sh :文件名称 #a ...
- php连接数据库mysql数据库
查找数据 $con = mysqli_connect('localhost', 'root', '', 'mydb'); if (!$con) { die('数据库连接失败' . mysqli_con ...