有两个函数更好的做法,还是有一个复杂的函数

Is it better practice to have 2 functions, or 1 complex function?

本文关键字:函数 复杂 有一个 更好 两个      更新时间:2023-09-26

我很好奇在编程社区中什么被认为是更好的实践。

在提交时,会调用一个函数,在其中进行一些验证,然后通过AJAX发布帖子。我正在考虑让一个函数来处理这两个问题。我会将所有元素ID更改为相同,仅具有递增数字的差异(例如txt1、txt2/txt1Cnt、txt2Cnt/txt1Lbl、txt2Lbl等)

然后我会添加循环和条件语句来正确处理每种形式。这听起来很有趣,这就是我想要这样做的原因,但现在我想,也许它不会被认为是非常有效的,因为如果我只有两个函数,我就不需要区分所有不同的元素。特别是因为形式不完全相同。

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

谢谢你抽出时间。

在这些情况下需要考虑以下几点。

  1. 代码重用-将代码分解为执行一个或多个特定任务的函数,以后可以重用它们。

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

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

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

函数越简单,复杂性越低。

我的经验法则是:如果我有可能出于另一个目的进一步需要这个逻辑,那么最好将其分离为自己的方法或函数。

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

一般来说,我喜欢确保单个函数或方法执行单个重要任务。这有两个好处;

  • 提高代码可读性-如果您在x个月后返回代码,当您不再记得写代码时,遵循和调整一系列较短的函数可能比执行多个任务的少量大型函数耗时更少
  • 增加代码可重用性-这更多地适用于OOP类,但也与过程相关。如果你编写了一个执行合理特定任务的函数,那么你可以在未来的项目中再次使用该函数,需要调整一些参数或路径,而不是提取一个长的多功能函数的部分,以根据新项目的需求重建该函数