我想对2016年的我说些什么建议?

一、用上git

公司产品大部分使用delphi开发,版本控制使用的是一个叫TC的软件,这个软件是专门用于管理delphi代码模块的,但是版本管理的粒度只是以文件为单位,不能保存项目快照,导致发布新版本后遇到bug需要查错时或者回滚时,浪费了很多时间在寻找变更代码上面。

所以我想对2016年的我说:

快在自己本机安装git,每次发新版就新建一个tag,遇到需要回滚的情况,直接还原到上一版本的tag,可以帮助团队节省寻找变更代码的时间。

二、改善日记技巧

公司产品运行于客户内网环境,出现bug要么联系当时的操作人员,尝试在本机重现bug调试,要么是根据bug现象,自己检查代码推测可能出现问题的地方,这样导致修复bug的流程还有耗时很长,效率很低。

最近在知乎阅读到晓风轻的专题——程序员你为什么这么累?,里面有一篇我的编程习惯 - 日志建议,让我深受启发。

文章里面的一句话:不要依赖debug,多依赖日志,让我醍醐灌顶,公司产品的日志主要记录的是数据库操作和系统运行信息,查错功能的日志代码并没有强制要求编写。之前自己的代码问题很多,时常面对一些内存问题,后来甚至开始研究map文件,想通过map文件定位bug位置,现在想想真是知识限制了我的想象力,其实只要在控制语句边界,对象生命周期边界打印一些日志,都可以很方便定位问题了。

所以我想对2016年的我说:

1、在流程控制语句之前,把控制语句的变量打印出来。
2、服务端API函数要打印入参。
3、客户端取到重要数据后要把原始数据打印出来(客户提供的机器性能极强,并不需要节省空间),这样可以帮助排除原始数据获取出错的问题,bug出现的位置就集中在客户端显示逻辑上了。

三、封装SQL语句

数据库表的字段多,插入更新语句挺容易出现问题,最严重的错误是没对齐字段,所以平时编写SQL都格外小心,提交前还需要检查一次。

后来我SQL的插入和更新封装成函数,利用键值对保存字段和数据,生成对应的SQL,方便的解决了上述问题。现在学习了java web开发,还可以使用DAO层的思路,封装对应操作,这样SQL只需要编写一次就行了,更加安全方便。

所以我想对2016年的我说:

1、快封装SQL操作,省时又省力。
2、推荐老大加入DAO层和Model层,减少编写SQL的次数,相信整个团队会受益的。

四、多写文档总结

当时的我没有写日记的习惯,导致很多问题的解决方法没有积累下来。

所以我想对2016年的我说:

1、开通博客。
2、把遇到的问题和解决方法记录下来。

posted @ 2018-02-02 14:06  hiyujie  阅读(114)  评论(0)    收藏  举报