2014-12-10 7 views
1

Похоже, что плагин Batarang для Chrome только что обновлен. Добавлена ​​новая функция Angular Hint и дала мне кучу предупреждений. И есть команда, которая говорит:Почему Angular Hint предлагает имена с паскалем для контроллера и модулей?

контроллеры Имя согласно рекомендациям (9551)

имена контроллеров должны начинаться с символа верхнего регистра и заканчиваются суффиксом контроллера. Например: UserController.

Рассмотрите возможность переименования homeController в HomeController.

У нас нет Угловые разработчики всегда используют имена с камнеобъектами для объекта JavaScript? Кто-нибудь может сказать нам, почему Батаран предпочитает случай с паскалем?

И еще вопросы:

  • Где можно найти документацию для последних «наилучшей практики»?
  • Если мы не хотим следовать этой «лучшей практике» для существующих веб-приложений, как включить этот тип «подсказок»?
+1

Batarang можно отключить под 'chrome: // extensions /'. Поскольку я все же проверяю области с консоли, беспорядочное расплывание подсказки сделало расширение бесполезным для меня. – semiomant

+0

Теперь я полностью удалил его. –

+0

Я думаю, что Batarang снова обновился. И теперь есть флажок, чтобы включить/отключить Batarang. Нам не нужно полностью его удалять. – Blaise

ответ

4

Batarang предлагает это, поскольку функции контроллера являются фактически функциями конструктора, а функции-конструкторы начинаются - по соглашению - с символом верхнего регистра в JavaScript.

Это отличие от других артефактов, таких как фильтры или услуги. Они записываются с использованием строчного символа, поскольку они не рассматриваются как конструкторы.

Для контроллеров это на самом деле имеет большой смысл, так как вы можете иметь несколько экземпляров одного контроллера на одном веб-сайте.

В JavaScript, на самом деле, лучше всего делать строчные буквы, кроме конструкторов: таким образом разработчик знает, когда использовать new с функцией и когда ее не использовать. Основная проблема заключается в том, что технически нет никакой разницы между функцией и конструктором в JavaScript. Оба являются просто функциями, они просто по-разному относятся к ключевому слову this (и это то, что влияет на под капотом new).

Для части «лучших практик» ... Я бы пошел с Угловым documentation on how to define controllers. Там говорится, что это конструктор (хотя, правда, он довольно скрыт).

Как отключить его ... нет, извините, я не знаю, действительно ли это возможно (и если да, то я не знаю, как это сделать). С другой стороны, я бы порекомендовал спросить себя, действительно ли вы хотите сделать это по-другому, если IS - общая передовая практика.

+0

Спасибо, Голо. Это имеет смысл. Вы знаете, где найти документацию «Лучшая практика»? и как мы можем временно отключить «Угловой намек»? (Моя консоль Chrome теперь залита предупреждениями с угловым подсказкой. – Blaise

+0

Обновлен мой ответ. Надеюсь, это поможет :-) –

+0

PS: Консоль моего Chrome тоже затоплена, и новая версия Batarang сломала некоторые веб-сайты (в том числе меню официального сайта Angular), поэтому я отключил его. Во всяком случае, я никогда не использовал его. –