Ho avuto una buona occhiata in giro ma non ho trovato la convenzione su come utilizzare le virgolette per le stringhe. Conosco la differenza tra i due, ma ovunque vedo un buon codice con doppi apici in cui i singoli sono sufficienti. Pertanto, non riesco a riconoscere alcun modello. Lo sto chiedendo perché vorrei iniziare a contribuire all'open-source e mi piacerebbe avere una buona abitudine fin dall'inizio. Piuttosto uso le citazioni singole il più possibile, anche per rafforzare la mia fiducia con la differenza tra i due.convenzione di codifica rubino per singola o doppia che cita le stringhe
risposta
Non credo che ci sia una convenzione forte all'interno dell'intera comunità. Da quello che ho visto, sembra esserci un pregiudizio verso l'ignorare le citazioni singole del tutto e sempre usando le virgolette doppie. In alcuni cerchi, lo è anche una convenzione, ma una localizzata, non una per l'intera comunità.
Personalmente, ogni volta che ho diversi modi di esprimere la stessa cosa, tendo ad usare questi diversi modi per trasmettere semantica diversa. (Per esempio, io uso le parentesi graffe vs do
/end
in blocchi di distinguere tra i blocchi che vengono utilizzati per i loro effetti collaterali e blocchi che vengono utilizzati per il loro valore di ritorno.)
Quindi, io uso solo le virgolette quando ho in realtà desidera utilizzare l'interpolazione della stringa o l'escaping, altrimenti utilizzo le virgolette singole. In questo modo, quando vedo una stringa, posso immediatamente dire che non ci sono affari divertenti in corso, e non c'è alcun codice nascosto al suo interno.
Sono pragmatico, però. Preferisco di gran lunga lo "It's a string!"
su 'It\'s a string!'
o %q[It's a string!]
.
Quello che probabilmente già sanno:
- virgolette singole sono bene per semplici stringhe.
- Se è necessario valutare qualcosa all'interno della stringa, occorrono virgolette doppie.
C'è no significant performance difference.
L'uso di virgolette è utile per poter utilizzare gli apostrofi senza doversi preoccupare di evitarli all'interno della stringa, rendendo così la stringa più "carina" nel codice. Think "Don't do that"
vs 'Don\'t do that'
C'è una linea di pensiero che afferma che you should never escape in strings. Se hai bisogno di virgolette singole e doppie virgolette all'interno della stringa, è meglio usare un heredoc o virgolette flessibili. Alla fine, lascerei a quella guida ciò che è necessario usare durante la codifica se valutare il codice rubino all'interno della stringa non è un problema.
+1 grazie roba utile @Shaun! – ecoologic
- 1. Che cos'è la "codifica per convenzione"?
- 2. Rubino, problemi che confrontano le stringhe con caratteri UTF-8
- 3. rubino punto doppia domanda
- 4. Che cos'è la spedizione singola e doppia?
- 5. Che cos'è la convenzione o la configurazione?
- 6. Convenzione di stringhe di query URL per più ordinamenti
- 7. Convenzione di codifica della funzione "privata" Python
- 8. Decodifica utf8 con doppia codifica in Python
- 9. R gsub una singola doppia virgoletta
- 10. htmlentities() Entità di doppia codifica nella stringa
- 11. Qual è la codifica predefinita per le stringhe C?
- 12. Convenzione di denominazione per le viste Django?
- 13. Magento - convenzione di moduli mysql4 o risorsa
- 14. Stringhe di codifica URL o Base64 in Bussola/SASS
- 15. Convenzione di denominazione Scala per le opzioni
- 16. Convenzione di denominazione per le costanti Scala?
- 17. Rubino - Come mantenere \ n quando stampo fuori le stringhe
- 18. Codifica delle stringhe di tipi primitivi che preservano l'ordine lessicografico
- 19. Utilizzare virgolette singole o doppie per stringhe in EL
- 20. Che cosa significa restituire zero per convenzione?
- 21. Equivalente per le stringhe di stringhe
- 22. SQLite sostituzione di parametro e cita
- 23. Stringhe di rubino con variabili incorporate
- 24. UIImage to base64 Codifica stringhe
- 25. Discussione singola per tutte le attività o più lavoratori specifici?
- 26. Javascript proprietà dell'oggetto cita
- 27. Wiki cita API?
- 28. Forza le stringhe a UTF-8 da qualsiasi codifica
- 29. È possibile sublimare le stringhe di Python in colori diversi da stringhe a linea singola?
- 30. Delphi: Stringhe di codifica come Python fare
Recentemente sto abbracciando [github ruby styleguide] (https://github.com/styleguide/ruby), convenzioni di stringa in basso – ecoologic
Ora sto usando [Airbnb Ruby Style Guide] (https: // github. com/Airbnb/ruby). – ecoologic