He echado un vistazo pero no pude encontrar la convención sobre cómo usar comillas para las cadenas. Sé la diferencia entre los dos, pero en todas partes veo un buen código con comillas dobles donde los singles son suficientes. Por lo tanto, no puedo reconocer ningún patrón. Pregunto esto porque me gustaría comenzar a contribuir con el código abierto y me gustaría tener un buen hábito desde el principio. Prefiero usar las comillas simples tanto como sea posible, también para fortalecer mi confianza con la diferencia entre los dos.convención de codificación ruby para una o dos citas de sus cadenas
Respuesta
No creo que haya una convención fuerte dentro de toda la comunidad. Por lo que he visto, parece haber un sesgo hacia ignorar las comillas simples por completo y siempre usando comillas dobles. En algunos círculos, ese es incluso una convención, pero una localizada, no una para toda la comunidad.
Personalmente, cada vez que tengo varias maneras diferentes de expresar lo mismo, tiendo a usar esas formas diferentes de transmitir una semántica diferente. (Por ejemplo, utilizo llaves vs. do
/end
en bloques de distinguir entre los bloques que se utilizan por sus efectos secundarios y los bloques que se utilizan por su valor de retorno.)
Por lo tanto, sólo se utilizo comillas dobles cuando realmente quiero utilizar la interpolación de cadenas o el escape, de lo contrario utilizo comillas simples. De esa manera, cuando veo una cadena, puedo decir de inmediato que no hay ningún asunto extraño y que no hay ningún código oculto en su interior.
Soy pragmático, sin embargo. Prefiero mucho "It's a string!"
sobre 'It\'s a string!'
o %q[It's a string!]
.
Lo que probablemente ya saben:
- Las comillas simples son muy bien para cuerdas simples.
- Si necesita evaluar algo dentro de la cadena, necesitará comillas dobles.
Hay no significant performance difference.
Usar comillas dobles es útil para que pueda utilizar apóstrofes sin tener que preocuparse de escaparse dentro de la cadena haciendo que la cadena se vea "más bonita" en el código. Piense "Don't do that"
vs 'Don\'t do that'
Hay una línea de pensamiento que dice que you should never escape in strings. Si necesita comillas simples y comillas dobles dentro de su cadena, es mejor utilizar un heredoc o comillas flexibles. Al final, dejo que eso guíe lo que necesita usar al codificar si no es una preocupación evaluar el código de rubí dentro de la cadena.
+1 gracias @Shaun cosas útiles! – ecoologic
- 1. ¿Qué convención de codificación seguir para PHP?
- 2. Citas y espacios de codificación URL
- 3. Java Enum Tipo de la codificación Convención
- 4. ¿Qué es "codificación por convención"?
- 5. Citas de estilo Perl para cadenas largas en C++
- 6. cadenas de C++: codificación UTF-8 o 16 bits?
- 7. ¿Hay una función Ruby para realizar una operación XOR en dos conjuntos de cadenas?
- 8. Alternativas para Ruby on Rails y/o sus componentes
- 9. ¿Cómo recuperar/calcular recuentos de citas y/o índices de citas de una lista de autores?
- 10. Cadenas y codificación de caracteres en C++
- 11. Regexp coincidencia de lista de cadenas de citas - sin comillas
- 12. ¿Cómo documenta sus estándares de codificación?
- 13. Convención de doble negación boina Ruby
- 14. ¿Existe alguna convención de formato en las cadenas de consulta?
- 15. Conversión de "Citas directas" a "Citas rizadas"
- 16. haciendo dos cadenas en una
- 17. Ruby/Rails: Modelos nombrados con dos palabras (nombres de problemas de convención)
- 18. convención de codificación del espacio de nombres raíz en C++
- 19. ¿Una forma inteligente de descubrir la codificación de cadenas?
- 20. jQuery: ¿mejor forma de concatenar cadenas que tienen citas?
- 21. Cómo evitar las cadenas de codificación rígida
- 22. ¿Puedo usar iconv para convertir citas inteligentes de varios bytes a citas inteligentes ASCII extendidas?
- 23. ¿Cuál es la codificación predeterminada para las cadenas C?
- 24. ¿Qué método para definir en una clase de Ruby para proporcionar dup/clone para sus instancias?
- 25. ¿Hay alguna convención de codificación HTML/estilo/estándar
- 26. ¿Existe una convención de nombres para MySQL?
- 27. cómo hacer bitwise exclusive o de dos cadenas en python?
- 28. Comparando dos cadenas en inglés para similitudes
- 29. ¿Clave para dos cadenas en un mapa?
- 30. Delphi: Cadenas de codificación como Python do
Recientemente estoy abrazando [github ruby styleguide] (https://github.com/styleguide/ruby), convenciones de cadenas en la parte inferior – ecoologic
Ahora estoy usando [Airbnb Ruby Style Guide] (https: // github. com/airbnb/ruby). – ecoologic