Quando le persone lavorano in paesi diversi e hanno bisogno di lavorare insieme come mantenere il codice nella lingua corretta

2

Sono un membro di un piccolo nuovo team e con una delle nostre ultime build ho notato che i file di codice VS2010 non contengono la formattazione della lingua.

Quindi ad esempio quando scrivo un simbolo dell'euro nel mio codice o uso un "." o "," in numeri o utilizzare simboli Pounds, Euro o Dollar, quelli sembrano ok nel mio codice, ma per un programmatore in Russia non lo fanno. Mi chiedo in che modo le altre persone affrontano questo tipo di problemi?

    
posta user613326 19.04.2013 - 01:05
fonte

2 risposte

3

I caratteri non-ascii sono dolorosi in Visual Studio. Sebbene il nostro team non sia composto da persone che utilizzano impostazioni locali diverse, abbiamo occasionalmente bisogno di caratteri provenienti da diverse località e utilizziamo diversi altri compilatori che si comportano diversamente. Quindi ecco cosa abbiamo trovato funziona:

  • Visual Studio riconosce il marchio di ordine byte UTF-8. È possibile modificare la codifica in "File / Opzioni di salvataggio avanzate" per i singoli file e di default da qualche parte in Opzioni. Se scegli Unicode (UTF-8 con firma) - Codepage 65001 , verrà sempre visualizzato lo stesso per tutti i membri del team.
  • I caratteri Unicode nei letterali wide (L "...") sono correttamente codificati nei sorgenti UTF-8.
  • I caratteri Unicode in letterali stretti ("...") sono ricodificati in set caratteri locali . Senza possibilità di selezionare quale vuoi ricodificare. Quindi sarà ricodificato in modo diverso quando diverse persone lo compilano. Assolutamente inutile; anche se non sono sicuro che non sia ancora possibile in VS2010, usiamo VS2008 e lì non è possibile.
  • Le sequenze di escape sono mai ricodificate.

Quindi usa UTF-8 per far sì che i file vengano visualizzati correttamente per tutti, ma in stringhe strette devi sempre usare gli escape comunque. Puoi usare i caratteri direttamente in letterali di grandi dimensioni, ma se hai mai bisogno di eseguire il porting del codice, usando le sequenze di escape preferirai comunque. Non è leggibile, sì. Puoi avere il testo attuale nel commento, verrà visualizzato correttamente se è UTF-8.

Hm, che era in particolare per la codifica , che so è possibile di worm in Visual Studio. Per le altre cose, nei commenti si usa solo una lingua comune, di solito l'inglese. E nell'output utente devi usare std::locale .

Per quanto riguarda la localizzazione effettiva, il sistema risorse per impostazione predefinita fornito da Microsoft toolchain è notoriamente difficile da mantenere . Raccomando vivamente di utilizzare il sistema, che contiene inglese letterali direttamente nel codice e cataloghi di traduzione dall'inglese all'altra lingua. Ciò garantisce che non ti dimentichi di aggiornare le traduzioni quando cambia la fonte.

Utilizza Gettext , che ora può essere letto da Boost.Locale o framework simile (ad es. Qt ha un sistema simile integrato (e KDE lo sostituisce comunque con Gettext)).

Boost.Locale fornisce anche alcune funzioni che utilizzano std::locale più conveniente. Ampliata la funzione tipicamente estesa di printf-like estesa a supportare internamente i formati std::locale number / currency / date ...

    
risposta data 19.04.2013 - 10:06
fonte
3

Una soluzione è avere un documento che delinea lo stile di codifica che tutto il team utilizzerà.

Ciò potrebbe portare più luce sul problema:

It's important for a team to have a single coding standard for each language to avoid several problems:

  • A lack of standards can make your code unreadable.
  • Disagreement over standards can cause check-in wars between developers.
  • Seeing different standards in the same class can be extremely irritating.

La tua azienda ha uno standard di codifica?

    
risposta data 19.04.2013 - 01:11
fonte

Leggi altre domande sui tag