调用包含所有所需代码的函数或内部包含所需代码的其他函数的函数更好?
what's the better call a function with all needed code inside, or a function with an other function inside with the needed code?
我不知道如何更准确地表述这个问题(因为我的英语不太好),但让我用一些例子来解释(我主要研究php、javascript和java):
哪种风格更好或更有效?
function foo(){
//somecode1
requiredByFoo();
}
function requiredByFoo(){
//somecode2
}
或
function foo(){
//someCode1
//somecode2
}
我之所以这么问,是因为我正在学习编程,我想养成良好的习惯,编写高效的代码。谢谢!:D
这一切都取决于实际的代码是什么,但总的来说,正如人们所说,更多的方法大多是好事。每个方法都应该做一件事,这样可以使代码块更小。
- 如果方法小而多,测试会容易得多,因为你可以单独测试每种方法,如果它不做很多事情,那么可能的结果/流的数量就更容易掌握
- 代码更容易理解。以这种方式编写时,它减少了阅读一行又一行代码以了解每个方法的功能的需要,如果它执行名称,并且它很小,那么这通常就足够了
- 如果代码被分成更小的部分,则重用代码的不同部分要容易得多,这反过来也减少了代码重复
可能还有很多其他专业人士我现在没有考虑。如果您想要更多信息,您应该查找SRP(单一责任原则)和其他精益和敏捷实践。
根据您的设计,每个函数应该只做一件事。如果SomeCode 1和SomeCode 2是两个一起执行函数的部分,请采用后面的方法。
就过程语言而言,编写一个能够交付一个特定任务的函数总是很好的,这样您就可以进一步重用它。因此,始终保持函数代码尽可能小,并从另一个函数调用一个函数。
就内存使用而言,两个代码将消耗相同的内存,因为包含函数代码的类将在内存中加载一次,无论调用函数多少次。在设计方面,您的代码应该尽可能具有可扩展性,因此您应该将业务逻辑分割为尽可能多的类和函数。
如前所述,这不会导致Java内存消耗增加。
相关文章:
- 如何将 c++ get 函数代码转换为 opencv 算法中使用的 python
- 修改链表主函数代码,用户将在其中输入节点的索引和数据以及正确的消息
- 是否可以像这样编写c malloc函数代码
- 函数范围的静态变量如何导致与共享库中函数代码的未来使用不兼容
- 如何将C++ lambda 函数代码转换为 C#?
- 该构造函数代码如何将指针作为参数
- 调用C++具有复杂参数和复杂返回类型的函数 C 代码
- "_FCbuild"不能用作函数 - C/C++ 代码错误
- 复制赋值和复制构造函数(代码C++的差异)
- 反向链表的递归函数(代码段说明)
- 当满足条件时,是否可以在 GLSL 着色器中回调 C/C++ 函数/代码
- 在构造函数代码之前禁用默认类成员初始化
- 以下移动构造函数代码安全吗?
- C++构造函数代码..这叫什么
- 如何更改SWIG生成的CSHARP文件中的构造函数代码
- 找不到当前函数(代码::块)C++的边界
- 使用模板进行 C++ 函数代码泛化
- 编写此指针函数代码的长格式方法是什么
- C++某些构造函数代码之间的区别
- 错误C2668从站点对重载函数代码的调用不明确http://h264bitstream.sourceforge.net/