这个问题是从javascript的 Angular 来看的,但是它肯定可以应用于其他语言。
我最近越来越多地涉足这一领域,并且想知道何时建立方法的最佳实践,或者至少是好的设计标准。
我看到的显而易见的选项如下,并为每个示例提供了一个简单的示例
this.makeGetRequest = function(controller){...}
this.makeSynchronousGetRequest = function(controller){...}
this.makePostRequest = function(controller, data){...}
//data would be an optional parameter
// this.makeRequest("friends", "GET", true);
// this.makeRequest("friends", "POST", false, newFriend);
this.makeRequest = function(controller, type, isSynchronous, data){...}
this.makeRequest = function(controller, type, options);
this.makeRequest("friends", "POST", {data:newFriend, isSync:false});
HTTP请求示例只是激发了这个问题,但这对于具有不同数量的自定义/变量的任何面向公众的功能都适用。
显然,这三个功能都一样。但是什么是好习惯?是否有易于遵循的标准或准则?
最佳答案
options
参数的优点在于,它可以在不牺牲清晰度的情况下提供无限的选项。当有人指定data:
或isSync:
时,很明显要填写什么设置。记住将函数中的第13个参数设置为false
是造成困惑的秘诀。
因此,在以下两个选项之间,我仅在以下情况下使用多个参数:(1)总共少于四个参数;(2)顺序合理且易于内存(URL,然后键入,然后是数据),并且( 3)不超过一个(最后一个)是可选的。无论如何,这都是经验法则。
相对于参数化,多种方法呢?当您有少量可能性(GET与POST,UseDefaults与DontUseDefaults等等)时,多种方法只是一个选择。考虑一下,我可能仅在以下情况下设置单独的方法:
options
对象 ,我只是在强制您在两个不同的地方做出决定。我宁愿将所有设置都放在一个地方。 关于javascript - 何时使用哪种-多种方法,多种参数或选项参数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11457449/