同事写代码很随意,该如何应对?
我所在的开发小组共三人,我担任组长。
同事A,年纪比我大,思维不严谨,代码很多错漏,共事差不多三年了。
同事B,大概一年多的开发经验,今年才加进来的。他实习的时候适应得很快,我感觉终于有个潜力新人可以分担我的压力了,但实习完一起工作一段时间后我觉得无望了。我列举最主要的两件事。
第一件事,他写了一个函数,5个参数中有两个是没有用到的。我跟他说这样写不合理,问他为什么会这样 写,他解释一开始是打算xxx所以要用到那两个参数,后来又决定xxx所以没用到这两个参数。我跟他说完之后就去了洗手间,回来问他删了那两个参数没有,他说“没有,这又不影响功能”(大概意思,非原话),在我要求他必须删除的时候他才删除,我从他的表情语气感觉他心里还不服气。
第二件事,原来有一个函数doSomething(po, callback),是处理一条数据的,后来要加批量处理的功能,他直接把函数功能扩展成了doSomething(po, type, callback),调用函数的代码是这样写的:
var po = {xxx};
po.ids = "1,2,3";
doSomething(po, 2, callback);
我看到后真的要吐血了,用即时通讯工具跟他说这样写非常莫名其妙,他连一句话回应都没有。
2017年10月29日补充说明:
关于第二件事,我用“莫名其妙”这个词应该是不妥的。我这里解释一下当时为什么会这么说。
第一,这里的功能场景是这样的,浏览器展示一个数据列表,用户可对某条数据操作,也可选中多条数据批量操作。单条数据操作时,需要展示该条数据的详细信息,批量操作则不需要展示数据的详细信息。
第二,说说更详细的函数说明及调用函数方式。
/**
* xxx(函数功能描述)
* @param po 会计凭证
* @param type 类型(1-单条数据处理;2-批量数据处理)
* @param callback 回调函数
*/
function doSomething(po, type, callback) {
xxx
}
调用函数进行批量数据处理的时候,他首先是获取列表的第一条数据,得到一个数据的对象po,然后获取用户选择的N条数据的ID组装成字符串ids,然后把字符串ids放到po中。
var po = grid.getRowData(0);
var ids = grid.getSelectIds();
po.ids = ids;
doSomething(po, 2, function() {xxx});
首先,我看函数的参数和参数说明完全不明白怎么能实现批量操作,然后调用的时候做了一个动作“取列表的第一条数据”这是与批量操作完全不相干的事情。
如果是我写这个函数的话,会是这样的:
/**
* xxx
* @param operationType 操作类型(1-单条数据处理;2-批量数据处理)
* @param po 凭证数据(操作类型为单条数据时使用,批量数据处理时为null)
* @param ids 批量数据处理的数据ID字符串,格式:“23,24,25”
* @param callback 处理成功后的回调函数
*/
function doSomething(opertionType, po, ids, callback) {
xxx
}