n° 219
Novembre 2017
Dicembre 13, 2017, 09:18:41 *
Benvenuto! Accedi o registrati.
Hai dimenticato l'e-mail di attivazione?

Accesso con nome utente, password e durata della sessione
Notizia:
 
   Indice   Linux Windows Techassistance Gameassistance videogame hardware Aiuto Ricerca Agenda Downloads Accedi Registrati  


* Messaggi recenti
Messaggi recenti
Pagine: [1]   Vai giù
  Stampa  
Autore Discussione: Come formattare il codice C/C++ per il forum  (Letto 5181 volte)
0 utenti e 1 Utente non registrato stanno visualizzando questa discussione.
M.A.W. 1968
** LEGGETE IL REGOLAMENTO ! **
Global Moderator
Hero Member
*****

Karma: +224/-19
Scollegato Scollegato

Messaggi: 2988


Discrete And Combinatorial Mathematics


Mostra profilo WWW
« inserita:: Febbraio 07, 2010, 07:35:25 »

Una esigenza quotidiana per gli utenti di questa sezione del forum è l'invio di stralci di codice sorgente C o C++ nei propri post.

Purtroppo, altrettanto spesso capita che tale codice risulti pressoché illeggibile a causa di uso di caratteri di tabulazione, formattazioni inadeguate, o addirittura mancato uso dei tag appositi.

Il risultato, a causa della sua scarsa leggibilità, sovente disincentiva altri utenti dal prendere in considerazione la domanda e dal risolvere il problema, provocando perdite di tempo o potenziali errori di comprensione e in definitiva va contro l'interesse di chi pone la domanda e non contribuisce al buon ordine e alla qualità del forum.


Questo aspetto è talmente importante che anche nel nostro Regolamento si ricorda l'assoluta opportunità di racchiudere il codice sorgente entro la coppia di tag [ CODE ] e [ /CODE ] (omettendo gli spazi entro le parentesi), attivabile anche col pulsante "#" in fase di composizione dei messaggi.

Sicuramente è raccomandabile formattare il codice senza uso di caratteri di tabulazione '\t' e con indentazione pari a esattamente quattro spazi, per migliorare la leggibilità.

Sarebbe decisamente poco pratico fornire qui indicazioni dettagliate su come configurare ogni singolo ambiente, ogni IDE, ogni editor (sono centinaia !) per ottenere tale risultato; d'altro canto, formattare manualmente il codice sarebbe improponibile, sia da parte di chi pone la domanda, sia (doppiamente !) da parte di chi prende in carico l'analisi del codice proposto.

Per una formattazione decente "al volo" del codice C/C++ prima di allegarlo ad un post è però possibile utilizzare, ad esempio, un software gratuito, multipiattaforma e opensource come AStyle.

A tale scopo si è preparato un file di configurazione apposito, qui allegato, rispondente a criteri generali di stile decoroso, buon ordine e leggibilità: per utilizzare tale file con la propria installazione di AStyle è necessario e sufficiente copiarlo con il nome di "astylerc" (privo di estensione) nella medesima directory nella quale risiede il sorgente C/C++ da formattare.
Una buona occhiata alla documentazione dell'utility fugherà qualsiasi ulteriore dubbio.

Codice:
#astylerc
# C source code format options for high readability
--style=ansi
# Make sure no tab is used, decent indentation size
--indent=spaces=4
# Bulk options: let's cut it short...
-bCSKNLwfdUpV

In breve, tali opzioni impongono ad AStyle di eliminare ogni carattere di tabulazione convertendolo in una serie di esattamente quattro spazi, e più in generale di seguire lo stile ANSI K&R, soprattutto a livello di parentesi graffe, indentando praticamente ogni costrutto del linguaggio (eccetto le direttive di preprocessore), eliminando gli spazi superflui entro le parentesi tonde, e pochi altri dettagli di pretty printing.

Si rimanda alla documentazione di AStyle - un tool peraltro utilizzabile anche con altri linguaggi di programmazione - per ulteriori approfondimenti.
Registrato

I Moderatori invitano tutti gli utenti a prendere visione del REGOLAMENTO e a rispettarlo.

Un blog? Io? Occhiolino
Pagine: [1]   Vai su
  Stampa  
 
Vai a:  

Copyright © 2017 Edizioni Master SpA. p.iva : 02105820787

Tutti i diritti di proprietà letteraria e artistica riservati. - Privacy



powered by Simple Machines