2011-01-25 6 views
6

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

+1

Recentemente sto abbracciando [github ruby ​​styleguide] (https://github.com/styleguide/ruby), convenzioni di stringa in basso – ecoologic

+0

Ora sto usando [Airbnb Ruby Style Guide] (https: // github. com/Airbnb/ruby). – ecoologic

risposta

5

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!].

12

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.

+0

+1 grazie roba utile @Shaun! – ecoologic

Problemi correlati