代码规范

2018-07-09

首先说,也算是我的失误。

也算是代码规范的一个方面:少用全局变量。

在转移别人的代码的时候,原码是这样的

//initialize stuff
fftConverter = FFTHelperCreate(accumulatorDataLenght);

然后我就很自然的,改成了

//initialize stuff
FFTHelperRef *fftConverter = fftConverter = FFTHelperCreate(accumulatorDataLenght);

ok,呀,也不报错,后来,就因为这里,埋下了地雷。

工程死活跑不通,心想,不对呀,代码都一样的。

后来,我在就报错的位置打断点,看一个一个参数(这个技巧很实用,在代码报错处,查看一个一个参数、环境变量是否正常)

然后发现一个变量FFTHelperRef 居然为空,

然后我就往上层走,看哪里调用这个方法,发现调用它的地方,直接用了fftConverter变量,所以这个变量是全局,它就这里悄悄摸摸地注入进去了,还是个Null的

后来只能写一个全局定义,然后赋值,因为我也不知道它哪些地方直接调用了,就不想改它的代码了,直接依它吧。


 // The Main FFT Helper
FFTHelperRef *fftConverter = NULL; 

。。。。。。。。中间隔了很多代码和花扣号啦。

//
initialize stuff fftConverter = FFTHelperCreate(accumulatorDataLenght);

 

posted on 2018-07-09 12:41  angelshelter  阅读(130)  评论(0编辑  收藏  举报

导航