最近两周在给同事交接工作的时候遇到了一些困难,不过都统统解决掉了,不过还是让我心有余悸,若不是自己未雨绸缪 提前在代码上 下了一些功夫 ,不然不可能在极端时间内 解决多个棘手的问题如此顺利抽身而出,以下几点 都是这次给我的教训,以前没有看重的,也在这次给自己一个响亮的耳光
1.你的项目一定要整洁,什么功能的脚本文件在什么目录要清楚,命名要绝对清楚
2.你的项目 每个文件 的每个函数都要写清楚 注释,并把每个函数的参数的释疑 数据类型都写明白,每个文件 要声明作者和日期
3.你的每个类文件 都应该有日志声明,每个函数的执行都应该有日志输出,重要的变量 值要做到输出到console中来
4.你的项目至少要有一个README文件 ,告诉别人 这个项目是在做什么,操作的前提 需要配置好什么环境,操作的入口类 、函数在哪里,整个项目的树状结构
5.项目要交由 git 来做版本控制
6.项目要有单元测试
7.每个函数要有前瞻性,把入参写全了,调用的时候也把入参写全,写好默认值,
8.对于上传 下载 的函数 要区分 Windows 和mac 的文件目录分隔符不同
9.项目要不断优化重构,使函数尽可能的解耦,更灵活的组装配置
10.项目一定要有配置文件,敏感信息要配置在配置文件中,是脚本尽可能的不受具体参数的污染
11.对于函数执行结果 在不能确认时,要用最笨的方式去检验结果
12.对于给不在同一个空间场地的同事培训,要借助使用teamviewer 远程操控对方机器,协助对方操作
13.在给对方培训原理后,一定要监督其操作,因为还会在操作中出现问题
14.对Linux shell 命令要足够熟练 ,通过系统来检验问题
这次给同事培训,一个是 路径写错了 ,一个是Windows的开机密码不可以用来ssh登录,之后是 Windows的分隔符导致 文件上传异常,最后是 上传因为 两台电脑的用户在ssh登录时没有进行过首次相互登录,导致对方相互不认识,无法上传,所以只要,双方认识了,这个就可以正确上传,再给同事培训时 不断感叹,若不是有充足的日志输出,不然非常困难定位问题,若不是项目写的简洁整洁,不然找文件 函数也非常困难,若不是有注释,不然早忘记每个函数的到底含义是什么,若不是重构解耦足够灵活不然 在解决bug时 不再写新的函数,导致更复杂的背景下,修改局部就可以解决,若不是对Windows 目录分隔符有前瞻性预判,留了 对其修改的余地,不然项目修改会非常巨大,若不是自己对shell操作熟练,不然也不可能用最笨的方法判断问题是否被解决