双重标准,我该怎么解决

今天改了一笔代码,是一个图像输出模块的字符格式处理功能的代码,

这个代码本身是在我们的库里面,

这个图像输出模块一共有2个函数,以及2个成员变量,

分别叫做FunA、FunB、Mb1、Mb2,

Mb1 用来接收外部传进来的一个字符串,

FunA 用来处理Mb1,变成Mb2,

FunB 用来把Mb2 画出来,到指定的位置,

很明显就可以看出来,实际上调用流程就是,

SetMb1,CallFunA,CallFunB,后续每次要画文字的时候,只要文字不变,都调用一次FunB就可以了,

今天,我要修改的是FunA,由于FunA早期版本过于老,

需要收传入的参数太多,并且获取的Mb2并不是我们要的效果,导致FunB画Mb2的结果是不符合我们预期的,

结果,我就把我们库代码修改了,

主要修改位置就是Mb1 的这个函数,

然后就悲剧了,

我老大提出2点理由质疑我的修改,

1:我的代码效率的问题,FunA函数的问题

2:基础库代码不能改,我是否有其他办法解决问题

然后我就非常头痛。

1:至于代码效率问题,其实我已经说得很清楚,

我修改的函数并不是一个频繁调用的函数,

由于我修改的函输只有一个整理数据的功能,

所以我所修改的函数并不会频繁被调用,

实际上频繁被调用的是FunB函数,因为每次展示几乎都要调用,

所以,关心FunA的效率,其实是很奇怪的一个事情,

(有个小插曲是,之前我们的库里面有个更加频繁调用的内存申请函数MemAlloc,内部是包了一个类似于 ExAllocatePoolWithTag 的函数,

但是呢,MemAlloc 函数的作者竟然在这个函数里面加了一个类似于 ZeroMemory 的功能,

我当时就提出来,如此频繁被调用的一个函数,而且是个最基础的功能函数,加上一个不一定用得到的功能,是否真的有必要,但是我老大直接就把我卡了。)

2:至于基础库是否可以改的问题,其实我已经说得更清楚了,

由于我要修改的这个模块是前几天新加的,一个新的模块并不一定会有人来用它,

这个模块就是给我用的,但是它不符合我的要求,我就需要修改,

但是我老大就是说,它是在基础库中的。

哎,我只想好好地写代码。

原文地址:https://www.cnblogs.com/suanguade/p/9015815.html