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

Почему Rubimine предлагает использовать одиночные кавычки над двойными кавычками в строках?

Каждый раз, когда я использую строки с двойными кавычками, я получаю такое предложение:

enter image description here

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

Может кто-нибудь объяснить, почему одиночные кавычки предпочтительнее строк с двойными кавычками?

4b9b3361

Ответ 1

Одиночные кавычки предпочтительнее, если в строке нет интерполяции. Ruby будет работать меньше (теоретически) для вывода строк с одиночной кавычкой, что, в свою очередь, ускорит ваш код некоторыми (опять же в теории). Это одна из причин, почему RubyMine предлагает это.

Другая причина заключается в простой читаемости. Что вы можете прочитать здесь в руководстве по стилю: Ruby Coding Style Guide

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

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

Ответ 2

Раньше была разница в производительности, поэтому рубинин (и большая часть сообщества) рекомендовал одиночные кавычки, когда вы не интерполировали.

Совершенствование разницы больше не существует. http://viget.com/extend/just-use-double-quoted-ruby-strings

Вы можете отключить предупреждения:

Preferences > Editor > Inspections > Ruby > Double quoted string

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

Ответ 3

Одиночные кавычки сохраняют escape-символы, такие как \n, тогда как эти символы будут избегать двойных кавычек.

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