Подтвердить что ты не робот

Подходящее время для использования coffeescript

Итак, в основном у меня есть ряд проблем, которые удерживают меня от coffeescript:

  • Я еще не эксперт в js, хотя я использую его уже около 3 лет, но по-прежнему чувствую, что мне не хватает чего-то важного. Поскольку это в основном вспомогательная технология для меня, я никогда не нахожу времени, чтобы идти в глубины js (что, я признаю, может быть неправильным отношением).

  • Мои знания js будут еще хуже, если я начну использовать coffeescript

  • Я не уверен, могу ли я действительно доверять coffescript, то есть код js, который он компилирует в

  • Иногда я не понимаю, что js-код coffeescript компилируется и даже хуже - почему он компилируется таким образом.

Я хотел бы узнать ваши мысли по вышеуказанным пунктам. Ключевым является: Как использование coffeescript повлияло на ваши знания js? И насколько важно вы думаете, чтобы полностью понять js, прежде чем переключиться на coffeescript?

4b9b3361

Ответ 1

Вы должны понимать, какие проблемы должен решить Coffeescript. И для этого у вас должно быть базовое знание "дурных частей" javascripts. Я предлагаю прочитать Douglas Crawford об этом (там есть книга, но также много резорбции в Интернете. Просто Google "javascript bad parts" ). В принципе, идея состоит в том, что "под всеми этими неудобными фигурными скобками и точкой с запятой JavaScript всегда отличался великолепной объектной моделью. CoffeeScript - это попытка разоблачить хорошие части JavaScript простым способом". (взято из сайта coffeescript).

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

Coffeescript переводит на javascript. Но создаваемый им javascript - это cannocical подмножество, очень совместимое с jslint. Что еще, он генерирует javascript-код, действующий во всех браузерах. Таким образом, это не просто приятный синтаксический слой сахара, он действительно помогает генерировать сплошной код.

Ответ 2

Я хотел бы затронуть ваши проблемы.

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

2) Coffee- script, вероятно, не сделает ваши знания JS хуже. То, как вы разрабатываете приложения Coffee- script, так же, как и дизайн JS-приложения (по большей части), будет таким, чтобы ваши навыки дизайна были получены. Дизайн программы, на мой взгляд, является наиболее важным аспектом программирования.

3) Почему вы не доверяете JS? Почему вы доверяете другим компиляторам/интерпретаторам/другим инструментам, которые вы используете? Я сомневаюсь, что Coffee- script является ошибкой, но многие используют его для многих целей. Это означает, что большой набор действий был протестирован, часто в производстве, поэтому ваш прецедент, вероятно, уже был опробован и протестирован.

4) Конечно, JS, созданный Coffee- script, будет выглядеть чуждо вам, так как правила его генерации не имеют человеческой читаемости в качестве приоритета. Тем не менее, чтение этого документа поможет вам повысить уровень знаний о JS, поскольку вы видите, как работают написанные программы. Это возвращает нас к пункту 1.

Ответ 3

Я думаю, что здесь важно помнить, что Javascript Coffeescript IS. Каждый оператор Coffeescript или волшебный оператор имеет четкое конкретное представление в Javascript. Например, (x) -> x * x в Coffeescript будет напрямую переведен на function (x) { return x * x; }.

Вы не можете писать Coffeescript, не зная о том, какой Javascript он будет генерировать. Во-первых, сгенерированный Javascript - это то, что вам придется отлаживать. Во всяком случае, я считаю, что письмо Coffeescript могло бы улучшить ваше понимание Javascript, потому что оно заставляет вас принимать решения, которые уникальны для Javascript. Например, когда в Coffeescript вы решили использовать => вместо ->, в действительности вы принимаете решение о том, хотите ли вы привязать this - очень реальную проблему Javascript.

Когда (или если) начать использовать Coffeescript? Я думаю, что ответ на этот вопрос более или менее зависит от вас. Попробуйте, и если вы чувствуете, что легче выполнять свои задачи с помощью Coffeescript, тогда придерживайтесь его. Если вам трудно написать код на другом языке, который выполняется (и, следовательно, тот, который вы должны отлаживать), вернитесь к Javascript.

Ответ 4

Итак, вот что я думаю о теме:

  • JS не является поддерживающей технологией (поддержка чего?). Это язык, который в основном используется на интерфейсе, и существует новая тенденция использования его в фоновом режиме. Поскольку браузер не поддерживает CoffeeScript изначально, чем если вы используете его как фоновый, тогда я не думаю, что есть смысл использовать CoffeeScript. Хотя изучение нового языка всегда является хорошей идеей.

  • Совсем нет. Фактически использование CoffeeScript похоже на использование другого языка. Изучение не может сделать вас глупым в другом. Если вы не прекратите изучать другую.

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

  • На самом деле вам не нужно понимать , почему он компилируется следующим образом. Если вы используете CoffeeScript на задней панели, вам даже не нужно смотреть на код, в который он компилируется (вам нужен только исходный код). Что касается использования его для создания сценариев браузера, то да - с ним может быть сложно работать (отладка). Вот почему я всегда советю писать обычный JavaScript для браузеров и использовать CoffeeScript на back-end.

Теперь, что касается последнего вопроса: я не думаю, что CoffeeScript повлиял на мои знания JS вообще. Я рассматриваю их как отдельные языки. Также вам не нужно знать JS, чтобы переключиться на CoffeeScript (хотя вам нужно), если вы не хотите использовать CoffeeScript на интерфейсе.

Также мастеринг JavaScript - это всегда хорошая идея, несмотря ни на что.:)