Когда использовать какие -несколько методов, несколько параметров или параметр опций

Этот вопрос возникает с точки зрения javascript, но он, безусловно, может относиться и к другим языкам.

В последнее время я сталкиваюсь с этим все чаще и чаще, и мне было интересно, существует ли передовая практика или, по крайней мере, хороший стандарт проектирования, когда можно создавать свои методы.

Очевидные варианты, которые я вижу, следующие, наряду с тривиальным примером для каждого

  • Несколько методов:

    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){...}
    
  • Один метод с параметром options:

    this.makeRequest = function(controller, type, options);
    this.makeRequest("friends", "POST", {data:newFriend, isSync:false});
    

Пример HTTP-запросов просто мотивирован вопросом, но он работает для любой общедоступной функции с различным количеством настроек/переменных.

Очевидно, что все три одинаково функциональны. Но что такое хорошая практика? Есть ли какой-то стандарт или руководство, которому обычно следуют?

6
задан Nick 12 July 2012 в 20:40
поделиться