[关闭]
@Yano 2017-08-08T08:59:06.000000Z 字数 1616 阅读 898

2017工作总结

总结


正式工作一年了,这次脚骨折请假在家(强行给自己放了个小暑假……),正好有时间做下工作总结。

总体情况

工作一年多,刚开始上班时有些吃力,因为并不是计算机专业,基础很薄弱,同时要弄懂:

  1. 游戏的各个模块功能
  2. 游戏的各个模块代码
  3. 整体工作流程
  4. 遗留代码(框架设计)

常常别人10分钟搞定的事情,到我这里就变成了做3个小时。这些东西只能静下心来,自己吃透。现在工作已经好多了,定位问题、开发功能,都已经熟练上手。已经开始思考代码的整洁性、框架,能熟练运用Java的语言机制。总的来说就是:工作起来已经得心应手。

Debug

在查一个线上问题时,我总是有一些抵触,因为毕竟这个项目已经8年,代码经过了无数人之手,甚至连产品文档都找不到了。为了查bug,只能先看看能否复现,然后再看代码定位。而我在大多数时候,也并不理解为什么代码是这样的。

总结下定位-修复线上问题的流程:

  1. 日志(Logcenter)中是否有相应错误?
  2. 是否能查到相应的打点、用户记录?
  3. 服务器流量是否正常?
  4. QA是否能够复现问题?
  5. 定位到对应代码
  6. 和产品确认,是否需要修改?为了监控,增加log记录。

所有的事情,只要按照一定的步骤,在做之前先问自己几个问题,就能够大大节省时间。

效率

我经常在两个IDE中切换:Eclipse 和 IntelliJ IDEA。用Eclipse是因为部署快,几秒钟就能够把后端服务启动起来;而使用IntelliJ是因为它在代码开发方面,具有非常高的效率。

这样就导致:我在IntelliJ上开发,在调试阶段把代码放到Eclipse工程中,有非常多重复性的工作。

  1. 这部分重复性工作是否有必要?即我真的要在Eclipse和IntelliJ两个IDE中进行切换吗?
  2. 这部分重复性工作,是否可以用shell脚本替代?这样能够规范流程、大大节省时间和精力。

在开发时,我能否只用记事本(Notepad++)写代码?因为很多时候有固定的模板,只需要在其中进行逻辑的开发。使用记事本编辑,几乎是零延迟,同时能够让开发者更专注于代码本身。也就是说,我可否直接放弃IntelliJ,而直接使用记事本开发,Eclipse调试?

(我承认使用两个IDE有些蹩脚,正确的做法应该是:只使用IntelliJ。)

在工作过程中,还有哪些地方,是能够提高效率的?

  1. 不要频繁切换标签、程序
  2. 标签和列表项不要过多
  3. 能用脚本解决的,就不要手工了,一劳永逸

代码

最近有时间,又看了一遍《Java编程思想》和《Effective Java》,结合自己的工作经验,有一些体会:

  1. 越是简洁的代码,越不容易出错。写代码就像是做一件艺术品,不要啰嗦,每一句话都要仔细推敲。
  2. 代码要符合良好的规范,要让别人能够直接看懂。
  3. 注释写详细,为什么要这么设计。要让别人在看我的代码时,完全不需要问我。
  4. 仔细推敲每一句话,每一条逻辑。能够做到心中无愧,临危不乱。
  5. 代码尽可能复用。

如何才能做得更好?

  1. 代码不容一丝瑕疵,每一个空格不放过。
  2. 认真写注释

看源码

最近看了JDK的源码,学到了很多编程技巧,对JDK源码及设计模式有了更高层次的认识,感觉以后看其他源码更快了。

如何看源码(自己的经验)?

  1. 不能只看单个类,要把类放在框架的整体中。比如看异常的源码,并不是看Throwable这一个类,而是一组。
  2. 写出最简单的使用示例,并分析最常用的方法。
  3. 分析类的结构:域、对象、方法
  4. 不必深入分析代码细节,领会设计要领即可。当然细节中可能有对部分代码的优化,可以借鉴。

应该如何工作

知乎上看到的一段话:

你可以把基础知识彻底吃透,同时把面对的问题彻底搞明白,然后写下清楚明白、明显没有错误的代码。等到下班时,你就可以放心大胆的走人。

——我没法完全避免错误,但我可以错的心安理得:因为全公司再没有别的人,能比我在同样时间内完成的项目更多、写出的bug更少。

做事情就应该做到最好,做到问心无愧,这样不仅是对别人负责,更是对自己负责。把所有工作尽可能做到最好,不必一直加班到很晚来表明态度。

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注