拥有2个函数或1个复杂函数是否更好?

时间:2013-08-04 17:26:46

标签: javascript function procedural-programming

我很好奇在编程社区中被认为是更好的做法。

在提交时,调用一个函数,完成一些验证,然后通过AJAX发布一个帖子。我正在考虑让一个函数处理它们。我会将所有元素ID更改为相同,只有增量数的差异(例如txt1,txt2 / txt1Cnt,txt2Cnt / txt1Lbl,txt2Lbl等等)

然后我会添加循环和条件语句来正确处理每个表单。这听起来像是有趣的方式,这就是我想要这样做的原因,但现在我想也许它不会被认为是非常有效的,因为如果我只有2个功能,我就不需要区分所有不同的元素。特别是因为形式不一样。

所以,我的问题是,当涉及到这类事情时,是否有经验法则?减少功能或降低复杂性是否更好?

感谢您的时间。

5 个答案:

答案 0 :(得分:3)

在这些情况下,您需要考虑几件事情。

  1. 代码重用 - 将代码分解为执行一项或多项特定操作的函数,可以让您以后重复使用它们。

  2. 代码可读性 - 将代码划分为逻辑函数时,代码可以更具可读性。特别是在其他人处理您的代码的情况下

  3. 性能 - 如果多次调用此函数,在大多数情况下最好有1个函数

答案 1 :(得分:1)

一个好的经验法则是单一责任原则,它说一个函数应该只做一件事。

答案 2 :(得分:0)

功能更简单,复杂性更低。

答案 3 :(得分:0)

我的经验法则是:如果我有可能将此逻辑用于其他目的,那么最好将其与自己的方法或功能分开。

它迫使你花费一些额外的时间来抽象一些条件以适应一般情况,但它可以节省你在其他用例中重复逻辑的N次额外时间。

答案 4 :(得分:0)

通常我喜欢确保单个函数或方法执行单个重要任务。这有两个好处;

  • 提高代码可读性 - 如果您在x个月内回到代码中,当您再也无法记住编写代码时,遵循和调整一系列较短的代码可能会花费更少的时间功能比少数每个执行多个任务的大型功能都要好。
  • 提高代码可重用性 - 这更适用于OOP类,但在程序上也相关。如果编写执行合理特定任务的函数,则可以在将来的项目中再次使用该函数,需要调整一些参数或路径,而不是提取长函数的多个部分以重建函数新项目的需求。