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 ...
随机推荐
- pytorch搭建网络,保存参数,恢复参数
这是看过莫凡python的学习笔记. 搭建网络,两种方式 (1)建立Sequential对象 import torch net = torch.nn.Sequential( torch.nn.Line ...
- hdu6438 Buy and Resell 买卖物品 ccpc网络赛 贪心
题目传送门 题目描述: 有n座城市,每座城市都可以对一个物品进行一次的买进或者卖出,可以同时拥有多个物品,计算利润最大值,并且交易次数要最少.(买入卖出算两次操作) 思路: 建立两个小根堆 优先队列, ...
- HDU计算机学院大学生程序设计竞赛(2015’12)Happy Value
Problem Description In an apartment, there are N residents. The Internet Service Provider (ISP) want ...
- Jupyter notebook介绍以及安装
一.Jupyter介绍 Jupyter Notebook是以web交互式的编程接口,是IPython notebook的升级版本.主要是针对python,另外支持运行 40 多种编程语言.Jupyte ...
- flink日记
直接下载 解压, 运行 ./bin/start-cluster.sh 几个概念: 批处理: 大数据量,不要求实时. 输入源是有界的 流处理:实时要求高,通常在毫秒级, 数据量比较小,但是输入源是无界的 ...
- C++: int int& int * int**的区别、联系和用途
1.int; int是C++关键字,表示整型,其大小是32位有符号整型,表示的范围是-2,147,483,648 到 2,147,483,647:在声明和定义变量时使用,它表示的意思是所声明或所定义的 ...
- 用NaviCat创建存储过程批量添加测试数据
打开navicat连接上数据库,然后打开左上角函数,新建一个函数. BEGIN DECLARE i int; --声明变量 DECLARE groupid int; set i=LAST_INSERT ...
- java编程--04比较几个常用的日期时间相关类的区别
第一篇,介绍日期的比较 第二篇,介绍日期的格式化 第三篇,介绍关于日期常用的计算 第四篇,比较几个常用的日期时间相关类的区别 第五篇,jdk9对日期类进行了更新,写一些i自己的学习心得. 下面以一组思 ...
- dict 增删改查
# dict # 数据类型划分: 可变数据类型,不可变数据类型 # 不可变数据类型: 元组 bool int str set (又被称为可哈希) # 可变数据类型: list dict (又被称为不可 ...
- [转]how can I change default errormessage for invalid price
本文转自:http://forums.asp.net/t/1598262.aspx?how+can+I+change+default+errormessage+for+invalid+price I ...