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"函数是执行所有操作的主函数,它可能是调用其他函数的信使函数,其唯一目的可能是将应用程序转换为服务.
欢迎澄清和评论/问题/答案,以改善这个问题.
命名函数和向函数传递值一直是许多讨论的话题之一。我建议您看看通常所说的“干净代码”。它包含命名和构造函数的理论。这是一本值得一看的好书
http://www.amazon.com/Clean-Code-Handbook-Software-Craftsmanship/dp/0132350882
并查看 YouTube 上的Clean Code,您可能会发现一些不错的演讲。
我的想法是,在构造函数时,您可以采用一百万种不同的方式。理论上,除了示例之外,您还可以有一个名为Get的函数,该函数接受一个指向函数的指针,该函数返回要获取的内容的类型。但这唯一增加的是复杂性。我们想要实现的基本上是易于其他人阅读和理解的自我注释代码。为此,每个函数都应该遵循关于如何根据其执行的内容进行命名、允许更改和返回什么等方面的设定规则。这将使人们更容易进入代码。
这适用于课程。不要有某个类在其构造函数中设置一百万个东西。如果需要,则创建函数来封装行为并从构造函数调用这些函数。