consigli su indentazione in C

Linguaggi di programmazione: php, perl, python, C, bash e tutti gli altri.
Avatar utente
SuperStep
Entusiasta Emergente
Entusiasta Emergente
Messaggi: 2037
Iscrizione: lunedì 19 dicembre 2011, 16:26
Desktop: Unity
Distribuzione: Ubuntu 16.04 LTS x86_64
Sesso: Maschile
Località: Somma Vesuviana (NA)

Re: consigli su indentazione in C

Messaggio da SuperStep »

perchè non usare un editor che supporta l'identazione?

ad esempio su vim si può settare il parametro "autoindent", esiste anche su gedit e molti altri editor di supporto alla programmazione.
ubuntu 16.04 LTS 64-bit - Memoria: 31,3 Gib - Processore: Intel Core i7-5960X CPU @ 3.00 GHz × 16 - Grafica: AMD Radeon HD 7800 Series - Disco: SSD 256 GB x 4 (RAID 01)
gila75
Imperturbabile Insigne
Imperturbabile Insigne
Messaggi: 2739
Iscrizione: mercoledì 16 gennaio 2013, 17:28
Desktop: ubuntu-2d
Distribuzione: Ubuntu 12.04.2 LTS i686
Località: Airuno(Lecco)

Re: consigli su indentazione in C

Messaggio da gila75 »

Su gedit? Non lo sapevo, adesso guardo, grazie :)
Avatar utente
M_A_W_ 1968
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 856
Iscrizione: venerdì 15 febbraio 2013, 3:57
Desktop: KDE
Distribuzione: SuSE
Sesso: Maschile
Località: Un luogo geometrico
Contatti:

Re: consigli su indentazione in C

Messaggio da M_A_W_ 1968 »

Quel requisito è stato dato praticamente per scontato nell'intero thread. Stiamo parlando implicitamente di editor per programmatori, che supportano (anche) indentazione e formattazione del codice, in modo extension-dependent, con mantenimento dell'indentazione alla pressione di Enter e fino alla chiusura del blocco sintattico corrente (nel caso del C), eccetera. Ma è davvero irrilevante.

La domanda di fondo è però diversa, e rimane la medesima: cosa viene inserito dall'editor nel file sorgente per indentare, indipendentemente dalla modalità di formattazione? Caratteri di tabulazione? Spazi? Un minestrone tra i due? E poi, ancora: in fase di visualizzazione, sono supportate soft tabs? Hard tabs? Smart tabs? Tab stop variabili extension-dependent?

Il problema, ribadisco, non consiste nell'usare solo questo o quell'editor/IDE, o questa o quella caratteristica, ma evitare totalmente la presenza di '\t' nei sorgenti (o, secondo una minoranza di programmatori e regole stilistiche, usare solamente '\t' e null'altro, ossia "hard tabs only"). A questo si riferiscono le regole di stile e, in genere, tutte quelle inerenti lo scambio di sorgenti tra organizzazioni dfferenti.
Sì, un blog ce l'ho perfino io: gli è che mi manca il tempo...

"...in una società che sembra sempre più spaventata dai problemi troppo articolati e che rigetta come un corpo estraneo ogni elemento di complessità, sapremo ancora come utilizzare il parere degli esperti?"
Avatar utente
vaeVictis
Imperturbabile Insigne
Imperturbabile Insigne
Messaggi: 4703
Iscrizione: venerdì 27 luglio 2012, 17:58
Desktop: Gnome
Distribuzione: Ubuntu 20.04 64bit

Re: consigli su indentazione in C

Messaggio da vaeVictis »

@M_A_W_1968
<3 Love Love Love! <3
:D
Pirates arrrrrrrrrrr awesome!!!
«I fear not the man who has practiced 10000 kicks once,
but I fear the man who has practiced one kick 10000 times.»
Avatar utente
SuperStep
Entusiasta Emergente
Entusiasta Emergente
Messaggi: 2037
Iscrizione: lunedì 19 dicembre 2011, 16:26
Desktop: Unity
Distribuzione: Ubuntu 16.04 LTS x86_64
Sesso: Maschile
Località: Somma Vesuviana (NA)

Re: consigli su indentazione in C

Messaggio da SuperStep »

M_A_W_ 1968 [url=http://forum.ubuntu-it.org/viewtopic.php?p=4554213#p4554213][img]http://forum.ubuntu-it.org/images/icons/icona-cita.gif[/img][/url] ha scritto:
Quel requisito è stato dato praticamente per scontato nell'intero thread. Stiamo parlando implicitamente di editor per programmatori, che supportano (anche) indentazione e formattazione del codice, in modo extension-dependent, con mantenimento dell'indentazione alla pressione di Enter e fino alla chiusura del blocco sintattico corrente (nel caso del C), eccetera. Ma è davvero irrilevante.

La domanda di fondo è però diversa, e rimane la medesima: cosa viene inserito dall'editor nel file sorgente per indentare, indipendentemente dalla modalità di formattazione? Caratteri di tabulazione? Spazi? Un minestrone tra i due? E poi, ancora: in fase di visualizzazione, sono supportate soft tabs? Hard tabs? Smart tabs? Tab stop variabili extension-dependent?

Il problema, ribadisco, non consiste nell'usare solo questo o quell'editor/IDE, o questa o quella caratteristica, ma evitare totalmente la presenza di '\t' nei sorgenti (o, secondo una minoranza di programmatori e regole stilistiche, usare solamente '\t' e null'altro, ossia "hard tabs only"). A questo si riferiscono le regole di stile e, in genere, tutte quelle inerenti lo scambio di sorgenti tra organizzazioni dfferenti.
alcuni editor supportano la funzione "usa spazi al posto delle tabulazioni".

ma poi cosa cambia? figurati se al compilatore frega se un carattere è uno spazio o una tabulazione, vengono processati entrambi allo stesso modo.
ubuntu 16.04 LTS 64-bit - Memoria: 31,3 Gib - Processore: Intel Core i7-5960X CPU @ 3.00 GHz × 16 - Grafica: AMD Radeon HD 7800 Series - Disco: SSD 256 GB x 4 (RAID 01)
Avatar utente
vbextreme
Entusiasta Emergente
Entusiasta Emergente
Messaggi: 1214
Iscrizione: domenica 12 gennaio 2014, 14:06
Desktop: lxde
Distribuzione: xubuntu 14.10

Re: consigli su indentazione in C

Messaggio da vbextreme »

Codice: Seleziona tutto

ma poi cosa cambia? figurati se al compilatore frega se un carattere è uno spazio o una tabulazione, vengono processati entrambi allo stesso modo.
Si ma se su un cumputer hai linux con un editor,poi possi ad un'altro che ha windows con altro editor e alla fine posti il tutto su di un forum,allora si che fa la differenza avere un "\t" o un " ".
A me è capitato su windows aprendo lo stesso file su 3 ide diversi una nana mostruosa,alla fine impostati tutti su 4 spazi ed il risultato è eccellente.
Easy framework per il linguaggio C.
vbextreme hack your life
Avatar utente
SuperStep
Entusiasta Emergente
Entusiasta Emergente
Messaggi: 2037
Iscrizione: lunedì 19 dicembre 2011, 16:26
Desktop: Unity
Distribuzione: Ubuntu 16.04 LTS x86_64
Sesso: Maschile
Località: Somma Vesuviana (NA)

Re: consigli su indentazione in C

Messaggio da SuperStep »

dipende, se li apri con editor che leggono file binari, non credo hai di questi problemi.
Sono quei maledetti editor con file di caratteri che danno fastidio, e come se provassi a leggere il documento con una codifica diversa, cosa centra?
a prescindere dal sistema operativo, per scrivere un programma è necessario munirsi degli strumenti adatti.

devi programmare? meglio non farlo con notepad, o con word, utilizza piuttosto un editor di testo ad alte potenzialità (ce ne sono moltissimi in tutti gli ambienti, giusto per citarne qualcuno free: aptana, brackets, Sublime. Oppure quelli
da terminale come vim emacs), utilizza i giusti strumenti ed avrai il risultato voluto.
ubuntu 16.04 LTS 64-bit - Memoria: 31,3 Gib - Processore: Intel Core i7-5960X CPU @ 3.00 GHz × 16 - Grafica: AMD Radeon HD 7800 Series - Disco: SSD 256 GB x 4 (RAID 01)
Avatar utente
Actarus5
Prode Principiante
Messaggi: 220
Iscrizione: mercoledì 3 luglio 2013, 17:15
Desktop: Mate
Distribuzione: Fedora
Località: Abutalabashuneba

Re: consigli su indentazione in C

Messaggio da Actarus5 »

SuperStep [url=http://forum.ubuntu-it.org/viewtopic.php?p=4555458#p4555458][img]http://forum.ubuntu-it.org/images/icons/icona-cita.gif[/img][/url] ha scritto: ma poi cosa cambia? figurati se al compilatore frega se un carattere è uno spazio o una tabulazione, vengono processati entrambi allo stesso modo.
Il punto è che se ci si scambia dei sorgenti molto probabilmente si ha anche interesse a leggerli, quindi l'indentazione è ovviamente fondamentale no?
Che poi al compilatore poco importi siamo d'accordo tutti, ci mancherebbe...
"An extremely helpful console message: “SPANK! SPANK! SPANK! Naughty programmer!”. Really, I’m not joking about that one."
Avatar utente
vbextreme
Entusiasta Emergente
Entusiasta Emergente
Messaggi: 1214
Iscrizione: domenica 12 gennaio 2014, 14:06
Desktop: lxde
Distribuzione: xubuntu 14.10

Re: consigli su indentazione in C

Messaggio da vbextreme »

Codice: Seleziona tutto

dipende, se li apri con editor che leggono file binari, non credo hai di questi problemi.
mo che sia binario o di testo sempre 9 vale (usando la stessa codifica ovvio).
Il tab quindi è un carattere privo di significato reale,ma solo puramente astratto,lasciando la libera interpretazione a chi lo legge sul come visualizzarlo.
Quindi l'editor legge 9 e lo trasforma a video come vuole lui o se è carino come vuoi te.
Lo spazio(32) invece è un carattere reale e quindi interpretabile solo come spazio.

Codice: Seleziona tutto

Sono quei maledetti editor con file di caratteri che danno fastidio,e come se provassi a leggere il documento con una codifica diversa, cosa centra
Confondere l'apertura di un file in modalità binaria/testuale(che per di piu non esiste nessuna differenza) con la codifica è un grave errore!
a prescindere dal sistema operativo, per scrivere un programma è necessario munirsi degli strumenti adatti.

devi programmare? meglio non farlo con notepad, o con word, utilizza piuttosto un editor di testo ad alte potenzialità (ce ne sono moltissimi in tutti gli ambienti, giusto per citarne qualcuno free: aptana, brackets, Sublime. Oppure quelli
da terminale come vim emacs), utilizza i giusti strumenti ed avrai il risultato voluto.
Come già ripetuto il discorso è trasformare i tab in spazii o lasciarli tab? Nel file è meglio scrivere un 9 o (standard)4 32?
Naturalmente qualsiasi editor lo permette di scegliere ma qual'è la scelta giusta? eccoci alla domanda,ed io preferisco gli spazi(e quando l'editor lo permette la trasformazione del tasto tab in 4 spazi o piu), anche perchè mi è capitato di inviare un file ad un dispositivo che interpretava i tab come "sucessivo file",ecco ancora l'astrazione del tab.
Easy framework per il linguaggio C.
vbextreme hack your life
Avatar utente
M_A_W_ 1968
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 856
Iscrizione: venerdì 15 febbraio 2013, 3:57
Desktop: KDE
Distribuzione: SuSE
Sesso: Maschile
Località: Un luogo geometrico
Contatti:

Re: consigli su indentazione in C

Messaggio da M_A_W_ 1968 »

SuperStep [url=http://forum.ubuntu-it.org/viewtopic.php?p=4555458#p4555458][img]http://forum.ubuntu-it.org/images/icons/icona-cita.gif[/img][/url] ha scritto:ma poi cosa cambia? figurati se al compilatore frega se un carattere è uno spazio o una tabulazione, vengono processati entrambi allo stesso modo.
Probabilmente qualcosa non è sufficientemente chiaro, perché sei in qualche modo fuori sincronismo rispetto al resto del thread. Stai solo ripetendo concetti già esposti oppure semplicemente sottintesi come banale assunto di partenza: si ha quindi l'impressione che tu non abbia ben capito qual è la questione che si sta affrontando. Se fossimo in formula 1, tu staresti ancora cercando di contare quanti sono i semafori sulla linea di partenza, mentre il resto dei partecipanti al thread ha già fatto tre o quattro giri di pista.

Cercherò di spiegare nuovamente il topic fin qui sviluppato, nei termini più semplici possibili.

Il problema di cui si parla qui riguarda l'interazione tra uomo e codice sorgente, ossia il requisito ingegneristico fondamentale della leggibilità, parametro purtroppo impossibile da quantificare puntualmente, ma da cui dipende ogni possibilità di comprendere, modificare, manutenere, refattorizzare un qualsiasi codice sorgente.

Più in particolare, si parla di stile di indentazione, e ancora più in dettaglio del perché il 99% delle aziende seriamente organizzate e la maggioranza degli sviluppatori professionisti vietano tassativamente l'uso di hard tabs, soft tabs, smart tabs ossia la presenza di qualsiasi carattere '\t' nei sorgenti, che causa problemi di portabilità ed ambiguità a non finire, compromettendo appunto la leggibilità da parte di altri programmatori e revisori. Non esiste, purtroppo, uno standard internazionale in questo settore, solo un cumulo di standard de facto - che variano ampiamente, anche se la maggioranza è orientata all'eliminazione totale dei caratteri di tabulazione dai sorgenti.

In questo contesto l'editor è richiamato solo in modo marginale, e quasi sempre come causa del problema a seguito dello scambio o del download di sorgenti tra organizzazioni che disgraziatamente usano requisiti di formattazione diversi.
Sì, un blog ce l'ho perfino io: gli è che mi manca il tempo...

"...in una società che sembra sempre più spaventata dai problemi troppo articolati e che rigetta come un corpo estraneo ogni elemento di complessità, sapremo ancora come utilizzare il parere degli esperti?"
Avatar utente
SuperStep
Entusiasta Emergente
Entusiasta Emergente
Messaggi: 2037
Iscrizione: lunedì 19 dicembre 2011, 16:26
Desktop: Unity
Distribuzione: Ubuntu 16.04 LTS x86_64
Sesso: Maschile
Località: Somma Vesuviana (NA)

Re: consigli su indentazione in C

Messaggio da SuperStep »

M_A_W_ 1968 [url=http://forum.ubuntu-it.org/viewtopic.php?p=4555608#p4555608][img]http://forum.ubuntu-it.org/images/icons/icona-cita.gif[/img][/url] ha scritto:
SuperStep [url=http://forum.ubuntu-it.org/viewtopic.php?p=4555458#p4555458][img]http://forum.ubuntu-it.org/images/icons/icona-cita.gif[/img][/url] ha scritto:ma poi cosa cambia? figurati se al compilatore frega se un carattere è uno spazio o una tabulazione, vengono processati entrambi allo stesso modo.
Probabilmente qualcosa non è sufficientemente chiaro, perché sei in qualche modo fuori sincronismo rispetto al resto del thread. Stai solo ripetendo concetti già esposti oppure semplicemente sottintesi come banale assunto di partenza: si ha quindi l'impressione che tu non abbia ben capito qual è la questione che si sta affrontando. Se fossimo in formula 1, tu staresti ancora cercando di contare quanti sono i semafori sulla linea di partenza, mentre il resto dei partecipanti al thread ha già fatto tre o quattro giri di pista.

Cercherò di spiegare nuovamente il topic fin qui sviluppato, nei termini più semplici possibili.

Il problema di cui si parla qui riguarda l'interazione tra uomo e codice sorgente, ossia il requisito ingegneristico fondamentale della leggibilità, parametro purtroppo impossibile da quantificare puntualmente, ma da cui dipende ogni possibilità di comprendere, modificare, manutenere, refattorizzare un qualsiasi codice sorgente.

Più in particolare, si parla di stile di indentazione, e ancora più in dettaglio del perché il 99% delle aziende seriamente organizzate e la maggioranza degli sviluppatori professionisti vietano tassativamente l'uso di hard tabs, soft tabs, smart tabs ossia la presenza di qualsiasi carattere '\t' nei sorgenti, che causa problemi di portabilità ed ambiguità a non finire, compromettendo appunto la leggibilità da parte di altri programmatori e revisori. Non esiste, purtroppo, uno standard internazionale in questo settore, solo un cumulo di standard de facto - che variano ampiamente, anche se la maggioranza è orientata all'eliminazione totale dei caratteri di tabulazione dai sorgenti.

In questo contesto l'editor è richiamato solo in modo marginale, e quasi sempre come causa del problema a seguito dello scambio o del download di sorgenti tra organizzazioni che disgraziatamente usano requisiti di formattazione diversi.
beh forse hai ragione, non avevo ben capito il punto.

ma qual'è l'obbiettivo che vuoi raggiungere? questo non mi è chiaro;
se dici che le tabulazioni creano problemi nei codici sorgenti, e per questo alcune aziende lo eliminano, ma per qualche ragione, la lettura risulta migliore con uno spazio più grande, allora perchè non usare gli spazi al posto delle tabulazioni?

se poi parliamo di problemi di incompatibilità visuale fra vari editor, ho fatto il paragone tra file binari/file di testo; non intendevo mischiare la codifica con il tipo di file (forse mi sono espresso male).

ma ribadisco ancora una volta; qual'è l'obbiettivo che volete raggiungere?
se è meglio oppure no utilizzare la tabulazioni?
se vanno completamente eliminate?
se è meglio scrivere tutto il codice su una sola riga?

veramente non capisco.
ubuntu 16.04 LTS 64-bit - Memoria: 31,3 Gib - Processore: Intel Core i7-5960X CPU @ 3.00 GHz × 16 - Grafica: AMD Radeon HD 7800 Series - Disco: SSD 256 GB x 4 (RAID 01)
zeek
Entusiasta Emergente
Entusiasta Emergente
Messaggi: 1331
Iscrizione: domenica 19 ottobre 2008, 18:37
Località: Italia

Re: consigli su indentazione in C

Messaggio da zeek »

uhm... si sta solo dicendo che mentre il tab è un carattere liberamente interpretabile, lo spazio non lo è, quindi le indentazioni fatte con gli spazi sono da preferirsi inquanto restano tali indipendentemente dall'editor che si usa per elaborare i sorgenti: non può esserci nessun errore nell'interpretare uno spazio, mentre possono esserci delle discrepanze per quanto riguarda il tab.
Imagine all the people sharing all the world!
... I wonder if you can.
Avatar utente
Claudio_F
Entusiasta Emergente
Entusiasta Emergente
Messaggi: 1463
Iscrizione: lunedì 28 maggio 2012, 18:49
Desktop: Mate/Gnome
Distribuzione: Ubu22.04

Re: consigli su indentazione in C

Messaggio da Claudio_F »

Lo scopo è il punto sette dello zen di Python: Readability counts

In altre parole, un sorgente, prima che per un compilatore, va scritto per un altro essere umano.
:ciao:
Avatar utente
vaeVictis
Imperturbabile Insigne
Imperturbabile Insigne
Messaggi: 4703
Iscrizione: venerdì 27 luglio 2012, 17:58
Desktop: Gnome
Distribuzione: Ubuntu 20.04 64bit

Re: consigli su indentazione in C

Messaggio da vaeVictis »

Qualcuno può spiegarmi perché per indentare non posso usare il tab verticale?
A volte uso anche il tab obliquo.
Pirates arrrrrrrrrrr awesome!!!
«I fear not the man who has practiced 10000 kicks once,
but I fear the man who has practiced one kick 10000 times.»
Avatar utente
vbextreme
Entusiasta Emergente
Entusiasta Emergente
Messaggi: 1214
Iscrizione: domenica 12 gennaio 2014, 14:06
Desktop: lxde
Distribuzione: xubuntu 14.10

Re: consigli su indentazione in C

Messaggio da vbextreme »

ho fatto il paragone tra file binari/file di testo
che sono la stessa identica cosa.Un file binario è un file di testo e un file di testo è un file binario,non esistono differenze.
L'unica differenza è la codifica o il tipo di file usato,ma per dirla come l'ho gia detta in binario il tasto TAB sul file salvo 9 e in testo salvo 9...
Qualcuno può spiegarmi perché per indentare non posso usare il tab verticale?
Puoi usare quello che piu ti piace se lo devi leggere solo te e con programmi che lo capiscono.
Mi spieghi il tasto del tab verticale? non lo conosco... :lol:

Il tab quindi deve essere visto come un tasto funzione e tasto speciale.

E pensa se dovevamo parlare di formattazione del codice!!!!!!!!!!!!! :lol:
Easy framework per il linguaggio C.
vbextreme hack your life
Avatar utente
vaeVictis
Imperturbabile Insigne
Imperturbabile Insigne
Messaggi: 4703
Iscrizione: venerdì 27 luglio 2012, 17:58
Desktop: Gnome
Distribuzione: Ubuntu 20.04 64bit

Re: consigli su indentazione in C

Messaggio da vaeVictis »

@vbextreme
Se torni indietro, vedrai che l'argomento "tab vs spazio" l'ho introdotto proprio io :)

Ero ovviamente ironico. Talmente ironico che mi fa piacere se sono stato preso sul serio.
... stavo facendo quello che conta il numero di scacchi bianchi e neri sulla bandiera del direttore di gara...

Per quanto riguarda il tasto, non inserisco nessun tasto... uso la sequenza \v

Codice: Seleziona tutto

vaevictis@vaevictis-HAL:~$ echo -e "\vciao"

ciao
Pirates arrrrrrrrrrr awesome!!!
«I fear not the man who has practiced 10000 kicks once,
but I fear the man who has practiced one kick 10000 times.»
Scrivi risposta

Ritorna a “Programmazione”

Chi c’è in linea

Visualizzano questa sezione: 0 utenti iscritti e 2 ospiti