Сколько JavaScript слишком много

instanceof - это проверка, является ли объект экземпляром Bar. Хотя это означает, что тип параметра также Bar, обратное не всегда верно. Typescript использует структурную типизацию, поэтому любой объект со структурой Bar будет совместим с параметром функции. Так что этот код совершенно корректен:

class Bar {
    bar: number;
}
function doSomething(p: Bar) { }
doSomething({
    bar: 10
})

Когда у вас есть личные свойства, вы не можете так легко «подделать» объект, но даже тогда мы всегда можем утверждать any: [118 ]

class Bar {
    private bar: number;
}
function doSomething(p: Bar) { }
doSomething({ // error now
    bar: 10
})
doSomething({ // breaking out of type safety
    bar: 10
} as any)

И если ваша кодовая база не полностью TS, то любой тип безопасности выходит за пределы окна, JS может вызывать вашу функцию TS с любым, что пожелает.

Значит ли это, что вы всегда должны включать чек? Я бы поспорил против этого. JS довольно свободен в своих типах (как и TS), и именно этого ожидают ваши пользователи. Если это крякает как утка, то это утка, старая мантра JS уходит. Если объект имеет свойства для работы с вашей функцией, он должен работать с вашей функцией независимо от того, как он был создан.

14
задан Ярослав Рахматуллин 8 March 2014 в 05:48
поделиться

10 ответов

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

Помнят, пользователь тратит 99%-й процент своего времени, используя другие сайты, не Ваше. Удостоверьтесь, что Ваш сайт делает то, что он ожидает от остальной части сети, а также от использования компьютеров в целом.

Между прочим, тестирование удобства пользования может использоваться для выяснения, "что пользователь действительно ожидает" в любой области. Ваши суждения как разработчик, вероятно, полностью отличаются, чем типичные пользователи; см. также Почему Вы Только Потребность Протестировать с 5 Пользователями .

12
ответ дан 1 December 2019 в 06:24
поделиться

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

16
ответ дан 1 December 2019 в 06:24
поделиться

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

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

Мы только использовали слишком много неправильной технологии если:

  1. приложение неинтуитивно или отклоняется от умственной модели пользователей, или
  2. , приложение является чрезмерно трудным или слишком дорогим для поддержания для тех, которые приезжают после нас
9
ответ дан 1 December 2019 в 06:24
поделиться

Я не возражаю против JavaScript, используемого, пока он не выставляет уязвимую информацию или открывает уязвимости системы обеспечения безопасности.

4
ответ дан 1 December 2019 в 06:24
поделиться

Вопрос скорее приложение все еще обеспечивает необходимые функции как bookmarkability и удостаивание пользователей, просматривающих историю?

, Если пользователь не может отметить определенную страницу/состояние, которая должна быть bookmarkable, это - предупредительный знак.

Также неспособность разумно использовать Кнопку "Назад" может вызвать горе.

3
ответ дан 1 December 2019 в 06:24
поделиться

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

3
ответ дан 1 December 2019 в 06:24
поделиться

Слишком многое из чего-либо:

, Когда Вы не можете прочитать код

, Когда пользователь не делает , получать/нуждаться/любить/и т.д. UI

, Когда Вы уничтожаете любую сторону сервера / клиентские ресурсы, Вам нужно

0
ответ дан 1 December 2019 в 06:24
поделиться

Это зависит от ряда факторов:

  • сценарий показывает информацию конечному пользователю о внутренних работах Вашего приложения?
  • необходимо ли поддерживать широкий спектр браузеров?
  • необходимо ли поддерживать мобильных пользователей (или КПК)?
  • Вы осуществляете бизнес-логику с JavaScript? (обычно это должно быть сделано в сервере)
  • И т.д.

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

Hope это помогает.

0
ответ дан 1 December 2019 в 06:24
поделиться

Это действительно зависит от того, для чего проект.

, Кто пользователи? Действительно ли это - только внутренняя вещь, или это будет открыто для мира? Они ожидают регулярный веб-интерфейс стиля? Это помешает там удобству использования вида?

, Насколько безопасный это должно быть? Используя JavaScript открывает много Вашего приложения пользователям, которые могут быть проблемой безопасности.

машина типичных пользователей может обработать так много JavaScript (более старые машины могут быть почти бесполезными с большим количеством JavaScript)?

существует много вопросов, на которые нужно ответить, прежде чем можно будет решить, сколько JavaScript слишком много.

В конце это, скорее всего, закончит тем, что было решено тестами и отзывами пользователей.

0
ответ дан 1 December 2019 в 06:24
поделиться
Другие вопросы по тегам:

Похожие вопросы: