Pagina 1 di 3

if{}, if{} e lo stile

MessaggioInviato: 5 mag 2017, 19:22
da Fedhman
Voi scrivete
Codice: Seleziona tutto
if {
//codice vario
}

oppure
Codice: Seleziona tutto
if
{
//codice vario
}

?

Io sempre il primo, il secondo mi mette a disagio. Con gli amici informatici l'argomento è il tipico casus belli di guerre fratricide, non prendete il thread troppo sul serio.

Quali altre regole di stile seguite mentre programmate? Avete qualche fissa tutta vostra? Io idento tutti i cicli annidati, anche se sono 4-5, e tendo a commentare la fine degli if e dei while lunghi con scritte vaghe tipo "FINE DEL WHILE PRINCIPALE".

Lascio anche l'articolo "The Exceptional Beauty of Doom 3's Source Code" (devo ancora finire sia il gioco che l'articolo stesso) http://kotaku.com/5975610/the-exceptional-beauty-of-doom-3s-source-code e tre vignette di xkcd (https://xkcd.com/):

code_quality.png


code_quality_2.png


code_quality_3.png

Re: if{}, if{} e lo stile

MessaggioInviato: 5 mag 2017, 19:39
da EcoTan
Fedhman ha scritto:Avete qualche fissa tutta vostra?

Io quella di risparmiare righe. Faccio programmi monolitici e ho bisogno di scorrerli rapidamente.

P.S. sia chiaro che per me è un hobby, prima che il robottino o altro vada come voglio io posso riprogrammarlo anche più di mille volte e poi nessuno deve metterci le mani, se fosse per produzione anch'io farei diversamente.

Re: if{}, if{} e lo stile

MessaggioInviato: 5 mag 2017, 19:46
da Fedhman
Quindi spesso scrivi
Codice: Seleziona tutto
if{//codice vario}


?

Usi sempre monitor larghi per leggere righe lunghe? Rimani il più compatto possibile, usando magari nomi di variabili brevissimi?

Re: if{}, if{} e lo stile

MessaggioInviato: 5 mag 2017, 19:48
da DarwinNE
Io sono pieno di fisse :oops:
Se prendo il readme di FidoCadJ c'è tutto questo, più altre istruzioni:

-indent properly, using 4 spaces
-no tabulation character allowed in sources
-no trailing spaces
-blocks delimited by curly braces are indented as follows:
Codice: Seleziona tutto
for(i=0; i<10; ++i) {   // Curly brace here
    // indented code (4 spaces)
    System.out.println("I counted up to "+i);
}   // close brace here at the same level of the 'for'

-methods are indented as follows:
Codice: Seleziona tutto
void dummy(int i, int j)
{   // put the starting brace here
    System.out.println("Indent code");
}   // put the closing brace here

-classes and interfaces are indented as follows:
Codice: Seleziona tutto
class Dummy
{                           // Curly brace here.
    // the rest of the class.
}

-switches are indented as follows:
Codice: Seleziona tutto
int dummy(int i)
{
    int j;
    switch(i) {
        case 1:
            j=3;
            break;
        case 2:
            j=2;
            break;
        default:
            j=0
    }
    return j;
}

-if an if condition spans over multiple lines, put the brace on the following line
-the class names always start with a capital letter
-variables never start with a capital letter
-methods never start with a capital letter
-no lines longer than 80 characters
-Unix-style for newlines is mandatory
-employing _ in names of types or variables is deprecated

Si parla di Java, ma ho abitudini praticamente identiche anche con il C ed il C++.
Tra l'altro, poco importa lo stile, è questione di gusti personali (tutti sono d'accordo che è importante indentare, poi ci si scanna sui dettagli). Però è indispensabile che lo stile rimanga uniforme in un progetto, soprattutto se ci sono tante persone che ci lavorano sopra. Per Java sono diventato un grande fan di Checkstyle, ma se non mi ricordo male non ho mai trovato nulla di simile per il C/C++.

Re: if{}, if{} e lo stile

MessaggioInviato: 5 mag 2017, 20:14
da lucaking
Io di solito uso il primo, se poi non voglio questo tipo di pensieri uso il pythone. :mrgreen: :mrgreen: (lo so che molti di voi lo odiano....)

Re: if{}, if{} e lo stile

MessaggioInviato: 5 mag 2017, 20:20
da EcoTan
Fedhman ha scritto:Rimani il più compatto possibile, usando magari nomi di variabili brevissimi?

Esatto, e il commento lo metto sulla stessa riga se non è proprio esteso.

Re: if{}, if{} e lo stile

MessaggioInviato: 5 mag 2017, 20:49
da TardoFreak
Devo essere sincero: io ho sempre insistito sullo stile della indentazione e la posizione delle graffe.
Inizialmente usavo lo stile
Codice: Seleziona tutto
void foo(void)
{
  // Code here
}

per il C, mentre per Java usavo
Codice: Seleziona tutto
void foo(void) {
  // Code here
}

Ho scritto "usavo" perché ultimamente mi capita di dover scrivere in C, C++, Java, php e javascript praticamente contemporaneamente e quindi non seguo più una regola precisa.
Anzi, mi capita di scrivere blocchi su una stessa linea o di inserire codice direttamente nei campi del "for".
E se bastevole non fosse, dichiaro variabili intermedie solo se strettamente necessario. Ho addirittura adottato la regola che "si dichiara una variabile solo dove serve e se il suo valore deve essere usato un numero di volte >1".
Il tutto condito con cicli for(;;) con break e return interni.

Re: if{}, if{} e lo stile

MessaggioInviato: 5 mag 2017, 20:55
da WALTERmwp
Io indento così.
Ognuno ha le proprie abitudini e quando si legge un listato impostato diversamente si ha la sensazione di perdere immediatezza; almeno a me da quell'impressione.

Saluti

Re: if{}, if{} e lo stile

MessaggioInviato: 5 mag 2017, 21:09
da Ianero
Avanti Walter ora ammettilo: volevi solo dar visibilità al tuo articolo vero?
Eeeehhhhh vabè dai, stavolta ci passiamo sopra...




:mrgreen:

PS: io preferisco quella odiata da Foto UtenteFedhman :roll: :roll: :roll:

Re: if{}, if{} e lo stile

MessaggioInviato: 5 mag 2017, 21:11
da TardoFreak
Il suo articolo mi era sfuggito. Ha fatto bene a postare il link :ok: