При написании новых функций все время от времени добавляют к функциям некоторые необязательные параметры.
Обычно я оцениваю, как часто мне нужно будет изменять параметр (учитывая мои варианты использования), и устанавливаю значение по умолчанию вспособ, который представляет собой наиболее часто используемую комбинацию параметров.Мне было бы все равно, если значение по умолчанию, следовательно, false
или true
или null
.В PHP, если вы не используете параметр, вы просто пропускаете его в коде.
Таким образом, функция
public function getUrl($absolute = true)
может дать мне, в зависимости от того, является ли $absolute
установите в true, абсолютный или относительный путь URL.Если мне нужен абсолютный путь, я называю его как getUrl()
, если мне нужен относительный путь, я называю его getUrl(false)
.
Однако я могу изменить определение функции на
public function getUrl($relative = false)
Изменение способа вызова функции только тогда, когда мне нужен путь относительно getUrl(true)
.
Лично я думаю, что в PHP это не имеет большого значения, хотя я предпочитаю«установить» дополнительные параметры вместо «сброса» их.Может быть, это только мое мнение.
В VueJS Components, однако, это имеет большее значение.Я мог бы создать компонент, который отображает текст и кнопку, и добавить свойство, чтобы решить, следует ли отображать кнопку (по какой-либо причине).Если бы я сказал, что по умолчанию кнопка отображается, то здесь есть два пути.
1) Имейте свойство showButton
, которое по умолчанию true
.
2) Имейте свойство hideButton
, которое по умолчанию false
.
Оба будутсделать практически то же самое, но разница в вызове их, когда я хочу, чтобы моя кнопка была скрыта:
1) <text-button-component :showButton="false" />
vs
2) <text-button-component hide-button />
Поскольку я недавно много работал с Vue.js, теперь я склонен всегда устанавливать значение по умолчанию для моих необязательных параметров в значение false и только «устанавливать» необязательные параметры вместо того, чтобы «сбрасывать» их.
Есть ли передовая практика в отношении этого поведения?Общее понимание?Или это просто личные предпочтения?