Newsgroup: it.comp.lang.c++
Titolo: spazi e tabulazioni

salve.
dovendo scrivere codice non piu' da solo ma in team, mi e' stato
consigliato dai miei colleghi di non usare le tabulazioni per
l'indentatura ma un certo numero di spazi.
condividete questo stile?
friol

 ha scritto nel messaggio
news:39e4a51...@news.tiscalinet.it...

    Stabilire uno standard da usare all'interno di un team di sviluppo è di
primaria importanza, nel caso specifico se tu usassi la tabulazione
l'aspetto del codice non sarebbe indipendente dal tipo di editor usato, con
il risultato che una commistione accidentale (non dirmi che non ti capita
mai!) di spazi con tabulazioni renderebbe il codice poco leggibile su un
editor diverso da quello che usi (cosa che io considero ignobile e indegna:
il codice deve essere puro, snello, tagliente ed elegante come un diamante).
Proprio per renderlo indipendente dall'editor, può essere una soluzione
drastica ma molto efficace l'uso degli spazi.

 condividete questo stile?
In effetti lo spazio di una tabulazione potrebbe variare da editor a
editor.
EMG

friol
Lo chiedettero anche a me, ma non l'ho fatto. Il TAB può essere
ridimensionato a piacimento, gli spazi no... Il problema, al limite, e
se bisogna stampare il codice e non si riescono bene a gestire i
tabulatori.
Luc.


Mah...
Luc.

condividete questo stile?
Meglio le tabulazioni, ognuno poi si imposta la tabulazione al
numero di caratteri che preferisce e si ritrova il codice indentato
correttamente.
Utilizzando gli spazi, c'e` sempre il problema di chi rientra di 5
caratteri, chi di 2....
Paolo

l'aspetto del codice non sarebbe indipendente dal tipo di editor usato,
Appunto... basta impostare la tabulazione al numero di spazi preferito
che chi rientra di x caratteri si ritrovera` sempre con codice che
rientra di x caratteri.
Se tizio utilizzasse lo spazio, rientrando di 6 caratteri, io che
rientro di 2 mi ritroverei con uno stile che non gradisco. In questo
caso l'uso delle tabulazioni salva capre e cavoli rendendo tutti
felici!
Paolo

tabulatori.
Problema effimero, la trasformazione in spazi puo` essere applicata
anche alla stampante, l'editor spedira` n spazi al posto del tab.
Paolo


Certamente, ma se qualcuno usa qualche editor vetusto.... 8-/
Luc.

Uno dei primi litigi che ho avuto su questo newsgroup era legato alla
mia affermazione (della quale sono tutt'ora pienamente convinto) chela
formattazione non dovrebbe essere una proprieta' del codice, ma dello
strumento con il quale lo si edita/esamina.
Mi avventuravo ad affermare che il testo puro non e' il formato ideale
con il quale gestire il codice *all'interno di uno strumento*, ma che
formati parzialmente compilati avrebbero potuto essere piu' pratici ed
efficienti.
Purtroppo questo tipo di cose sostanzialmente non esistono, per cui:
io uso i tab (impostati a quattro spazi); se questo non dovesse andare
esistono semplicissimi strumenti che permettono di sostituire i tab con
degli spazi, ad es., su qualsiasi Unix, expand/unexpand.
Ciao,
Nicola

 correttamente.
Solo che non sempre è possibile utilizzare la tabulazione. Ad esempio:
std::cout << "Prova di scrittura"
             "Seconda riga di scrittura"
Dato che ci sono tredici spazi prima della seconda riga, con le
tabulazioni al meglio potrei ottenere
std::cout << "Prova di scrittura"
            "Seconda riga di scrittura"
con una tabulazione da sei spazi oppure
std::cout << "Prova di scrittura"
              "Seconda riga di scrittura"
con una tabulazione da sette spazi. Non mi sembra un granché...
EMG


Hai mai pensato di mettere una tabulazione anche dopo '<<'? Prova, non
è male.
Luc.

felici!
Falso. A volta bisogna incolonnare qualcosa ad una riga precedente;
ad esempio:
    if (invalid(x,y) ||
        obj.distance(x,y)>snapsize)
Inoltre gli editor seri separano il concetto di tab size
da quello di indent size. Io posso avere i tab di 8 (dimensione
"storica" del tab) e indentare di 2.
Personalmente trovo che abolire i tab sia la soluzione meno
problematica (sono pentito di non averla adottata in passato).
Andrea
--
Andrea Griffini, Programmer
http://www.netservers.com/~agriff

editor.
Ed e' per questo che dovrebbe essere usato: cosi' ognuno sceglie di
quanti spazi deve essere un tab. A me piace l'identazione a 4 spazi,
ad altri piace un'identazione di 8, altri 2. Se si usa il tab questo
non e' un problema.
-- 
 (o-  | Un OS per domarli, Un OS per trovarli,
 //\  | Un OS per ghermirli e nel buio incatenarli
 V_/_ | Nella terra di Redmond, ove l'ombra cupa scende...
http://pinguin.linuxave.net
            r punto salmaso at inwind punto it

 è male.
A mio parere una forzatura del genere non è accettabile. Poi magari in
particolari situazioni si è costretti a scegliere il male minore ma
certo non è una soluzione ottimale.
EMG

condividete questo stile?
Se ognuno si facesse gli editor suoi .....
Comunque in /usr/src/linux/Documentation/CodingStyle
....
                Chapter 1: Indentation
Tabs are 8 characters, and thus indentations are also 8 characters. 
There are heretic movements that try to make indentations 4 (or even 2!)
characters deep, and that is akin to trying to define the value of PI to
be 3. 
Rationale: The whole idea behind indentation is to clearly define where
a block of control starts and ends.  Especially when you've been looking
at your screen for 20 straight hours, you'll find it a lot easier to see
how the indentation works if you have large indentations. 
Now, some people will claim that having 8-character indentations makes
the code move too far to the right, and makes it hard to read on a
80-character terminal screen.  The answer to that is that if you need
more than 3 levels of indentation, you're screwed anyway, and should fix
your program. 
In short, 8-char indents make things easier to read, and have the added
benefit of warning you when you're nesting your functions too deep. 
Heed that warning. 
...
Io sono dell'ide che chi scrive il codice ha il diritto di scegliersi il
tab 'suo'; gli altri se lo riformattano con i propri tools ( ident od altri
.... ).
E se poi volessimo paralre dei commenti ....

è male.
Comunque non risolve il problema dell'allineamento


Andrea
Soluzione plausibile:
std::cout <<
	"Prova di scrittura"
    "Seconda riga di scrittura"
	"..."
	"N-esima riga"
Luc.

Solo che non sempre è possibile utilizzare la tabulazione. Ad esempio:
Questo e` vero, non esiste una soluzione del tutto valida...
Anche usando solo i caratteri avresti il seguente problema:
// Bello per te, ma brutto per me!
class Pippo {
           public:
                      /* ... */
};
// Bello per me, ma brutto per te!
class Pippo {
  public:
    /* ... */
};
L'uso del tab avrebbe risolto questo problema!
Purtroppo quando si parla di stile, si entra in considerazioni
che pur partendo da basi oggettive (la necessita` di scrivere codice
facilmente comprensibile) sfociano facilmente in soluzioni
la cui qualita` e` assolutamente soggettiva.
Paolo

da quello di indent size.
Infatti io uso lo stesso valore per entrambi...
Paolo

Certamente, ma se qualcuno usa qualche editor vetusto.... 8-/
E magari sviluppare sotto dos una applicazione linux!
Siamo seri, chi sviluppa seriamente (per hobbi o lavoro)
difficilmente si accontenta di un editor con simili limitazioni.
Paolo



VI! 
VI! 
VI! 
VI! 
VI! 
VI! 
VI! 
VI! 
VI! 
VI! 
VI! 
VI! 
VI! 
VI! 
8)
Luc.

 Luc.
Perche'? Cos'ha ex che non va? :-)
Ciao,
Nicola

         "N-esima riga"
Direi che il risultato parla da solo... :-)
EMG



Direi che il tuo reader ha problemi..... ;-)))))))))))))))
Luc.

On Fri, 13 Oct 2000 13:37:50 +0200, Luc <TOGL...@katamail.com-TOGLI>
wrote:

Azz, no, ho fatto un taglia/incolla troppo veloce 8) Comunque si è
inteso quello che intendevo 8?
Luc.

 Direi che il tuo reader ha problemi..... ;-)))))))))))))))
Uso il solito Netscape. Comunque anche se fosse stato
std::cout <<
        "Prova di scrittura"
        "Seconda riga di scrittura"
        "..."
        "N-esima riga"
Sarebbe stato uno schifo ugualmente. Oppure ancora non ho capito quale
allineamento volevi intendere?
EMG

 Lo chiedettero anche a me, ma non l'ho fatto. 
Chiedettero? CHIEDETTERO?
Senza rancore!... :)

Senza rancore!... :)
Scusa, volevo dire chiedisero.... ^______^
PS: erano quasi le 18....
Luc.