2013-08-04 37 views
2

我很好奇在编程社区中哪些被认为是更好的做法。有2个功能或1个复杂功能是更好的做法吗?

在提交时,会调用一个函数,在该函数中进行一些验证,然后通过AJAX创建一个帖子。我正在考虑让一个函数处理它们两个。我会改变所有元素的ID是一样的,有一个递增的数只差(例如txt1中,TXT2/txt1Cnt,txt2Cnt/txt1Lbl,txt2Lbl,等...)

然后我想补充循环和条件声明来正确处理每个表单。这听起来像是一种有趣的方式,这就是为什么我想要这样做的原因,但现在我认为它可能不被认为是非常有效的,因为如果我只有2个函数,我不需要区分所有不同的元素。特别是因为形式不相同。

所以,我的问题是,这样的事情有没有经验法则?具有更少的功能或更少的复杂性会更好吗?

谢谢你的时间。

+0

有没有经验法则,做任何漂浮你的船! – adeneo

+0

这两种方法是否实际上降低了复杂性,而不是将它从一个地方移动到另一个地方?如果是这样,那么去那个。 – Joni

回答

3

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

  1. 代码重用 - 将代码分解成执行一个或几个特定事情的函数可让您稍后重用它们。

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

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

+0

我会把你的第一个案件放在最底层,因为其他案件在大多数一般案件中要重要得多。 – Bart

+0

是的,我同意。我还将问题标记为主要基于意见 – Tala

+0

感谢您的回复。在阅读你的答案后,我想这可能会走向任何一方。他们是行政形式,所以他们只会用来更新网站。该代码不会被重用。在这种情况下,可读性可能是最大的因素。无论如何,感谢您的回复,因为我对这个问题的好奇心超越了这种特殊情况。 – user2592690

1

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

+0

感谢您的回复。两种形式都需要完全相同的验证。这只是文本框的数量,输出中的文本以及它们提交给的php文件的问题。伟大的一点......不过要记住,不过。 – user2592690

0

更简单的功能,更少的复杂性。

+0

感谢您的回复。 – user2592690

0

我的经验法则是:如果有,我会需要这个逻辑还对用于其他用途的机会,那么最好是单独给它自己的方法或功能。

它迫使你花一些额外的时间抽象一些条件语句,以适应一般的情况下,也可节省你在其他使用情况下重复逻辑N个额外的时间。

+0

谢谢,好点。 – user2592690

0

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

  • 提高代码的可读性 - 如果你回来在X个月的时间你的代码,当你不能够再记得写代码,就可以少费时遵循和适应的比短的一系列功能,少数大型函数每个执行多个任务。
  • 增加代码的重用 - 这适用于更多的OOP类,但也是程序相关。如果你写的是执行一个合理的特定任务,您可以再次在未来的项目中重复使用的功能,需要几个参数或路径的调整,而不是提取一个长期的,多功能的功能的部分重建功能的功能满足新项目的需求。
+0

谢谢。这也是一个很好的答案。 – user2592690

相关问题