首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

重构-改善既有代码的设计:坏代码的味道,编写代码20多宗罪(三)

如果你在一个以上的地点看到相同的程序结构,那么可以肯定:设法将它们和而为一,程序会变得更好。最常见的“重复代码”就是一个类内的两个函数含有相同的表达式。另一种常见情况就是两个互为兄弟的子类内含有相同的表达式。   1)同一个类的2个函数含有相同的表达式,这时可以采用Extract Method(提炼函数)提炼出重复的代码,然后让这2个地点都调用被提炼出来的那段代码。   2)两个互为兄弟的子类内含相同表达式,只需对2个类都是用Extract Method(提炼函数),然后对被提炼出来的函数是用Pull Up Method (方法上移) ,将它推入超类。如果代码之间只是类似, 并非完全相同,那么就得运用Extract Method(提炼函数 将相似部分和差异部分隔开,构成单独一个的函数。然后你可能发现可以运用Form Template Method (塑造模板函数)获得一个 Template Method设计模式。如果有些函数以不同的算法做相同的事,你可以选择其中较清晰地一个,并是用 Substitute Algorithm (替换算法)将其他函数的算法替换掉。   如果2个毫不相关的类出现 重复代码,你应该考虑对其中一个运用 Extract Class (提炼类),将重复代码提炼到一个独立类中,然后在另一个类内使用这个新类。但是,重复代码所在的函数可能只应该属于某个类,另一个类只能调用它,抑或这个函数可能属于第三个类,而另2个类应该引用这第三个类。你必须决定这个函数放在哪儿最合适,并确保它被安置后就不会再在其他任何地方出现。

02

HAPPE+ER软件:标准化事件相关电位ERP的预处理的pipeline

事件相关电位(ERP)设计是一种用脑电图(EEG)评估神经认知功能的常用方法。然而,传统的ERP数据预处理方法是手动、主观、耗时的过程,许多自动化处理方法也很少有针对ERP分析有优化(特别是在发展或临床人群中)。本文提出并验证了HAPPE+事件相关(HAPPE+ER)软件,标准化和自动化预处理过程,且优化了整个生命周期的ERP分析。HAPPE+ER通过预处理和事件相关电位数据的统计分析来处理原始数据。HAPPE+ER还包括数据质量和处理质量指标的事后报告,标准化对数据处理的评估和报告。最后,HAPPE+ER包括后处理脚本,以方便验证HAPPE+ER的性能或与其他预处理方法的性能进行比较。本文用模拟和真实的ERP数据介绍了多种方法,HAPPE+ER软件可在https://www.gnu.org/licenses/#GPL的GNU通用公共许可证条款下免费获得。

00
领券