编程方法论.何时编写单用途功能?

Tim*_*nen 5 php theory coding-style code-organization

我很抱歉,但我无法定义我想弄清楚的"事情".

在编写函数时我们可以采用不同的方法,我已经做了一些"占位符"示例:

--------A---------
getImageSmall();
getImageLarge();
getTextSmall();
getTextLarge();
--------B---------
getImage('small');
getImage('large');
getText('small');
getText('large');
--------C---------
get('image','small');
get('image','large');
get('text','small');
get('text','large');
--------D---------
get(array('type'=>'image','size'=>'small'));
get(array('type'=>'image','size'=>'large'));
get(array('type'=>'text','size'=>'small'));
get(array('type'=>'text','size'=>'large'));
--------E---------
get('{"type":"image","size"=>"small"}');
get('{"type":"image","size"=>"large"}');
get('{"type":"text","size"=>"small"}');
get('{"type":"text","size"=>"large"}');
Run Code Online (Sandbox Code Playgroud)

我也可以包含对象,但我现在更喜欢保持简单.

"D"中的数组是一个php数组,用于显示使用json的示例"E"之间的区别.

您可以看到这种方法如何逐渐从一种思维方式转变为另一种方式,其中功能定义转向信息交换.这并不意味着"get"函数是执行所有操作的主函数,它可能是调用其他函数的信使函数,其唯一目的可能是将应用程序转换为服务.

问题是:

  • 编码风格的这种转变叫什么?(主要问题)
  • 什么时候最好用哪个?
  • 我在哪里可以阅读更多相关信息?

欢迎澄清和评论/问题/答案,以改善这个问题.

inq*_*uam 2

命名函数和向函数传递值一直是许多讨论的话题之一。我建议您看看通常所说的“干净代码”。它包含命名和构造函数的理论。这是一本值得一看的好书

http://www.amazon.com/Clean-Code-Handbook-Software-Craftsmanship/dp/0132350882

并查看 YouTube 上的Clean Code,您可能会发现一些不错的演讲。

我的想法是,在构造函数时,您可以采用一百万种不同的方式。理论上,除了示例之外,您还可以有一个名为Get的函数,该函数接受一个指向函数的指针,该函数返回要获取的内容的类型。但这唯一增加的是复杂性。我们想要实现的基本上是易于其他人阅读和理解的自我注释代码。为此,每个函数都应该遵循关于如何根据其执行的内容进行命名、允许更改和返回什么等方面的设定规则。这将使人们更容易进入代码。

这适用于课程。不要有某个类在其构造函数中设置一百万个东西。如果需要,则创建函数来封装行为并从构造函数调用这些函数。