В учебнике не говорится, что использование =>
(AKA "ha sh -rocket") - это плохо, в нем говорится, что использование строк или других объектов, помимо символов (:foo
), требует больше памяти.
{ :foo => 'bar' }
- это оригинальный способ определения символа в качестве ключа. Сравните эти два определения:
{ :foo => 'bar' } # => {:foo=>"bar"}
{ foo: 'bar' } # => {:foo=>"bar"}
Мы склонны использовать foo:
, потому что мы ленивый .
Символы не стоят так дорого, но это другой предмет и почему его можно найти с помощью небольшого поиска.
Как разработчики, мы должны понимать стоимость использования одного алгоритма или объекта по сравнению с другим. Использование Strings или чего-либо еще в качестве ключа имеет свое время и место, и зная, что они могут сэкономить много памяти или время разработки.
Наконец, полезны руководства по стилю; Читайте несколько из них периодически и подумайте, что они предлагают. Руководства предназначены для команд, чтобы помочь им писать в единой и последовательной манере в соответствии с хорошими методами кодирования, адаптированными для Ruby, однако они не отлиты в камне. Важно знать, почему они рекомендуются, потому что иногда нам приходится игнорировать или отклонять правила, но когда мы это сделаем, мы лучше будем готовы объяснить, почему в обзоре кода.
И, если вы ' Если вы не знакомы со стилями кодирования Ruby, я бы порекомендовал узнать о Rubocop , который является хорошим инструментом для проверки согласованного и принятого стиля программирования и выявления ошибок.