假设我有一种带有垃圾回收的语言(例如Java)。
for (...)
{
List <String> lst = new ...
// do something with lst
// lst not longer needed for this pass of the loop
lst.clear ();
}
Run Code Online (Sandbox Code Playgroud)
循环主体末尾的clear()不是必需的。在下一次传递中,lst将被启动。GC也将释放内存。
但是,清除还是跳过是更好的样式?
我认为这是很公平的:添加该呼叫clear()是不正确的做法。
很简单:您努力编写最少的代码,以您能想到的最富表现力的方式完成所需的代码。
因此:您避免放下任何无意义的东西!
clear()后来不使用的集合的A 就是这样:毫无意义。而且,除了在运行时对性能产生影响外,它还容易使读者困惑!“哎呀,他正在清理那东西,为什么呢?”
编程中的第一条规则:不要写令读者惊讶的代码。