第三十四章 辞职前(第 2/4 页)
这是当年羽然科技公司实现时的疏忽:在某个函数中,他们声明了一个局部变量,这个变量和同一命名空间的另一个变量名字极为相似,但命名风格(首字母是否大写之类)和其他代码不太一致。
当时他们是为了规避不同作用域的命名冲突才这样命名的。
但到了后面,他们仍然习惯性的用了“正常”的命名,也可能是选错了编辑器自动提示选项。
这就相当于丢开局部变量,用了命名空间的外部变量;但从上下文看,这里就不应该碰外部那个同名变量。
用伪码表示大概是这样:
class oneclass {
packagenameitems = null;
....
void funname1(arg){
//initial packagenameitems
packagenameitems = arg;
//other...
}
string funname2(){
\tpackagenameitems = extractpureinfo(packagenameitems);
//do sth
....
-->>(第 2/4 页)(本章未完,请点击下一页继续阅读)