首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >重构和增加调用堆栈之间的最佳权衡是什么?

重构和增加调用堆栈之间的最佳权衡是什么?
EN

Stack Overflow用户
提问于 2009-04-27 15:59:21
回答 4查看 144关注 0票数 0

我正在考虑将许多大的(1000+行)方法重构为好的块,然后可以适当地进行单元测试。

这让我开始思考调用堆栈,因为我的许多分解块中都有其他重构块,并且我的大型方法很可能已被其他大型方法调用。

我想打开这个进行讨论,看看重构是否会导致调用堆栈问题。我怀疑它在大多数情况下都不会,但想知道重构的递归方法,以及是否有可能在不创建无限循环的情况下导致堆栈溢出?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2009-04-27 16:03:00

除了递归,我不会担心调用堆栈问题,直到它们出现(它们可能不会出现)。

关于递归:无论它是如何实现的,都必须仔细实现和仔细测试,所以这一点也不会有什么不同。

票数 3
EN

Stack Overflow用户

发布于 2009-04-27 16:03:45

我想这在技术上是可行的。但我不会担心的,除非我在测试代码时实际发生了这种情况。

票数 0
EN

Stack Overflow用户

发布于 2009-04-27 16:04:10

当我还是个孩子的时候,计算机有64K的RAM,调用堆栈的大小很重要。

如今,这几乎不值得讨论。内存很大,堆栈帧很小,一些额外的函数调用很难测量。

例如,Python有一个人为的小调用堆栈,因此它可以迅速检测无限递归。默认大小为1000帧,但这可以通过简单的API调用进行调整。

在Python中遇到堆栈冲突的唯一方法是不加思考地处理Project Euler问题。即使这样,你通常也会在堆栈用完之前用完时间。(100万亿次循环所需的时间远远超过人的寿命。)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/794171

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档