Почему Rubimine предлагает использовать одиночные кавычки над двойными кавычками в строках?
Каждый раз, когда я использую строки с двойными кавычками, я получаю такое предложение:
![enter image description here]()
Когда я нажимаю значок лампочки, я получаю возможность преобразовать эту строку в строку с одним кавычком.
Может кто-нибудь объяснить, почему одиночные кавычки предпочтительнее строк с двойными кавычками?
Ответы
Ответ 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, так как мое испытание закончилось, но я готов поспорить, что вы можете изменить это в настройках, если вы предпочитаете использовать двойные кавычки, и предложения вас беспокоят.