Arduino Forum

International => Italiano => Software => Topic started by: nataleroppa on Apr 20, 2019, 04:09 pm

Title: AIUTO CON UN PROGRAMMA
Post by: nataleroppa on Apr 20, 2019, 04:09 pm
DEVO REALIZZARE IL SEGUENTE PROGRAMMA:
Gioco di reattività con due pulsanti, due display I2C per messaggistica e punteggi, un led per avvio gara. Il gioco consiste nel premere più veloce dell'avversario un pulsante non appena si accende il led di avvio gara e segnalare sui due display "vittoria" o "sconfitta" e segnalare sugli stessi il punteggio ottenuto.

COME POSSO VERIFICARE CHI HA PREMUTO PIU' VELOCEMENTE IL BOTTONE?

GRAZIE IN ANTICIPO
Title: Re: AIUTO CON UN PROGRAMMA
Post by: gpb01 on Apr 21, 2019, 08:14 am
Buongiorno,
essendo il tuo primo post, nel rispetto del regolamento della sezione Italiana del forum (… punto 13, primo capoverso), ti chiedo cortesemente di presentarti IN QUESTO THREAD (http://forum.arduino.cc/index.php?topic=113640.0) (spiegando bene quali conoscenze hai di elettronica e di programmazione ... possibilmente evitando di scrivere solo una riga di saluto) e di leggere con molta attenzione tutto il su citato REGOLAMENTO (http://forum.arduino.cc/index.php?topic=149082.0) ... Grazie. :)

Guglielmo

P.S.: Ti ricordo che, purtroppo, fino a quando non sarà fatta la presentazione, nessuno ti potrà rispondere, quindi ti consiglio di farla al più presto. ;) 

P.P.S.: Cortesemente evita le scritte tutte in MAIUSCOLO, grazie.
Title: Re: AIUTO CON UN PROGRAMMA
Post by: nataleroppa on Apr 21, 2019, 03:00 pm
Ok grazie
Title: Re: AIUTO CON UN PROGRAMMA
Post by: nataleroppa on May 21, 2019, 11:48 am
 Ciao ho bisogno di aiuto con questo progetto:


Gioco di reattività con due pulsanti, due display I2C per messaggistica e punteggi, un led per avvio gara. Il gioco consiste nel premere più veloce dell'avversario un pulsante non appena si accende il led di avvio gara e segnalare sui due display "vittoria" o "sconfitta" e segnalare sugli stessi il punteggio ottenuto.

Come posso verificare chi ha premuto più velocemente il pulsante?
Title: Re: AIUTO CON UN PROGRAMMA
Post by: gpb01 on May 21, 2019, 11:53 am
All'accensione del LED leggi il valore di micros() (https://www.arduino.cc/reference/en/language/functions/time/micros/) per ogni pulsante premuto lo leggi di nuovo, fai le differenze tra il valore iniziale e il valore nel momento in cui è stato premuto il pulsate (così da sapere in quanti microsecondi la cosa è avvenuta) e ... quello che c'ha messo di meno è il vincitore :D

Ovviamente NON leggi i pulsanti sino a quando non hai acceso il LED ... così eviti il furbetto che preme prima dell'accensione ;)

Guglielmo
Title: Re: AIUTO CON UN PROGRAMMA
Post by: AmericanDreamer on May 21, 2019, 12:25 pm
Meglio ancora: se all'accensione del led trova un pulsante premuto, squalifica il concorrente
Mi era già capitato, tempo fa, in hardware, coi relè
Title: Re: AIUTO CON UN PROGRAMMA
Post by: gpb01 on May 21, 2019, 12:40 pm
Meglio ancora: se all'accensione del led trova un pulsante premuto, squalifica il concorrente
... mi sembra giusto   (http://www.nikonland.eu/forum/public/style_emoticons/default/ibf_thumbup.gif)

Guglielmo
Title: Re: AIUTO CON UN PROGRAMMA
Post by: Stilita on May 21, 2019, 12:57 pm
Puoi fare accendere il led usando la funzione random, fai in modo che ,ad esempio, il led si accenda tra un range di 10 secondi casualmente, tra il secondo 5 e il 15.
Così i concorrenti saranno più spiazzati.

Già che siamo in argomento giochini te ne suggerisco uno:
Arduino pensa un numero da 0 a 1000, e vince chi lo indovina nel minor numero di tentativi.
All'immissione di un numero di un concorrente, Arduino risponde solo se il numero è più alto o più basso
di quello che lui ha pensato. Devi solo aggiungere una tastiera.
Title: Re: AIUTO CON UN PROGRAMMA
Post by: Standardoil on May 21, 2019, 01:13 pm
Ma io ho un dubbio...
Lo OP, in un mese, l'unica cosa che ha fatto sul progetto è  stato ripetere la domanda?
A questo ritmo non ci arriva più  ad avere un prototipo funzionante. ..sono basito, che anchesi sarebbe un futuro professionista nel ramo...
Title: Re: AIUTO CON UN PROGRAMMA
Post by: gpb01 on May 21, 2019, 01:39 pm
Lo OP, in un mese, l'unica cosa che ha fatto sul progetto è  stato ripetere la domanda?
Non mi ero accorto dell'altro thread ...  >:(
... ora li riunisco e chiedo all'OP di NON aprire più thread sullo stesso argomento!

Guglielmo

Edit: Threads riuniti in uno solo.
Title: Re: AIUTO CON UN PROGRAMMA
Post by: docdoc on May 21, 2019, 03:15 pm
All'accensione del LED leggi il valore di micros() (https://www.arduino.cc/reference/en/language/functions/time/micros/) per ogni pulsante premuto lo leggi di nuovo, fai le differenze tra il valore iniziale e il valore nel momento in cui è stato premuto il pulsate
Perché, due variabili globali (volatile bool) e due ISR su RISING (che mettono true la propria variabile solo se l'altra è false) è troppo complicato? ;)
Title: Re: AIUTO CON UN PROGRAMMA
Post by: gpb01 on May 21, 2019, 03:17 pm
Perché, due variabili globali (volatile bool) e due ISR su RISING (che mettono true la propria variabile solo se l'altra è false) è troppo complicato? ;)
Per iniziare direi sicuramente di SI, troppo complicato ... lascialo cominciare con le cose più semplici che a complicarle ci vuole poco :D

Guglielmo
Title: Re: AIUTO CON UN PROGRAMMA
Post by: AmericanDreamer on May 21, 2019, 03:24 pm
Non credo serva tenere nota del tempo
Due if digitlread in sequenza nel ciclo principale, la prima che interviene fa il lavoro e stacca tutto, ragionare easy
Title: Re: AIUTO CON UN PROGRAMMA
Post by: Standardoil on May 21, 2019, 03:36 pm
Infatti
Non vedo alcuna difficoltà nel problema
Una manciata di pinmode
Due test in croce, un paio di led e si prova "l'indicatore di primo evento" (così si chiama)
in seconda battuta attaccare gli lcd
Seconda puntata attaccare un pc e e comandato con un pulsante
E via così, un passo per volta
Title: Re: AIUTO CON UN PROGRAMMA
Post by: gpb01 on May 21, 2019, 03:54 pm
Non credo serva tenere nota del tempo
Due if digitlread in sequenza nel ciclo principale, la prima che interviene fa il lavoro e stacca tutto, ragionare easy
Giusto, ancora più semplice ...
... diciamo che con micros() poteva anche visualizzare i tempi di reazione ed ... era cosa simpatica ;)

Guglielmo
Title: Re: AIUTO CON UN PROGRAMMA
Post by: Claudio_FF on May 21, 2019, 09:51 pm
Per me per rilevare il primo pulsante che preme *dopo* l'accensione del led, bisogna controllare solo il primo fronte una sola volta... se uno ha premuto prima o continua a pigiare a raffica non va considerato. Una volta letto il risultato si riabilitano i pulsanti.
Title: Re: AIUTO CON UN PROGRAMMA
Post by: AmericanDreamer on May 22, 2019, 09:11 am
Buona l'obiezione della raffica
Ai miei tempi, coi relè, non ero riuscito a escluderla, ma solo per mancanza di voglia
Title: Re: AIUTO CON UN PROGRAMMA
Post by: Standardoil on May 22, 2019, 09:17 am
Banale, basta squalificare i pulsanti trovati alti 'prima' della luce verde...
Title: Re: AIUTO CON UN PROGRAMMA
Post by: docdoc on May 22, 2019, 01:21 pm
...e pensare che io a 12 anni feci una pulsantiera per quiz usando solo 2 pulsanti, 2 lampadine, un paio di relé (doppio deviatore, configurati per disattivarsi a vicenda al primo che si attiva)... ;)
Title: Re: AIUTO CON UN PROGRAMMA
Post by: AmericanDreamer on May 22, 2019, 01:58 pm
Io mi riferivo a quello, prima
Mi ricordo che ho usato gli interruttori del cruscotto di una 600 rottamata.
E le lampadine degli stop, avevo messo la lampada di un giocatore davanti all'altro. Così la lampada rossa indicava il perdente
Title: Re: AIUTO CON UN PROGRAMMA
Post by: Claudio_FF on May 22, 2019, 06:22 pm
Banale, basta squalificare i pulsanti trovati alti 'prima' della luce verde...
Se si controlla solo la prima pressione, la squalifica avviene automaticamente.

Code: [Select]
p1dn = 0;  // segnali impulsivi alla prima pressione
p2dn = 0;

if      (mr)               {            p1ena = 1; }
else if (p1 & p1ena)       { p1dn = 1;  p1ena = 0; }
else                       {                       }

if      (mr)               {            p2ena = 1; }
else if (p2 & p2ena)       { p2dn = 1;  p2ena = 0; }
else                       {                       }

if      (mr)               { q1 = 0; }
else if (p1dn & led & !q2) { q1 = 1; }
else                       {         }

if      (mr)               { q2 = 0; }
else if (p2dn & led & !q1) { q2 = 1; }
else                       {         }

if (p1dn & p2dn & led)     { q1 = 1;  q2 = 1; }

'mr' è il master reset che abilita i pulsanti e azzera le uscite
'led' è il segnale di "via"
'p1' e 'p2' sono i pulsanti, 1=premuto
'q1' e 'q2' le uscite
...e permettiamo anche la parità  :)

(https://forum.arduino.cc/index.php?action=dlattach;topic=611275.0;attach=309413)
Title: Re: AIUTO CON UN PROGRAMMA
Post by: gpb01 on May 22, 2019, 06:41 pm
...
'mr' è il master reset che abilita i pulsanti e azzera le uscite
'led' è il segnale di "via"
'p1' e 'p2' sono i pulsanti, 1=premuto
'q1' e 'q2' le uscite
...
... a voi v'hanno rovinato i PLC   :smiley-yell:  :smiley-yell:  :smiley-yell:

Ma ti paiono nomi di variabili da usare?  Quelli sono i nomi dei morsetti a vite ...  :smiley-mr-green:  :smiley-mr-green:  :smiley-mr-green:

Guglielmo
Title: Re: AIUTO CON UN PROGRAMMA
Post by: Claudio_FF on May 22, 2019, 06:53 pm
... a voi v'hanno rovinato i PLC   :smiley-yell:  :smiley-yell:  :smiley-yell:
Che poi... secondo me se si iniziasse da subito a pensare un programma come per un PLC (logica a ciclo di scansione), non ci si troverebbe sempre inevitabilmente nelle peste con le operazioni bloccanti, delay ecc ;D
Title: Re: AIUTO CON UN PROGRAMMA
Post by: maubarzi on May 22, 2019, 07:09 pm
... a voi v'hanno rovinato i PLC   :smiley-yell:  :smiley-yell:  :smiley-yell:
e mi sa pure le schede perforate ;)
noto poi anche un tocco di design misto a feng shui nelle cose tipo:
Code: [Select]
else                       {         }

per avere tutti gruppi da 3 righe allineati e coperti per tenere ben aperti i chakra :P

Per lo OP una domandina ina ina:
prevedi solo due concorrenti? oppure anche di più?
Title: Re: AIUTO CON UN PROGRAMMA
Post by: Claudio_FF on May 22, 2019, 07:17 pm
per avere tutti gruppi da 3 righe allineati e coperti per tenere ben aperti i chakra :P
In realtà quell'else vuoto è esplicitamente previsto nelle regole del barr-group (https://barrgroup.com/Embedded-Systems/Books/Embedded-C-Coding-Standard/Statement-Rules/If-Else-Statements)... dopo un po' è come avere il berrettino in inverno :)
Title: Re: AIUTO CON UN PROGRAMMA
Post by: maubarzi on May 22, 2019, 07:36 pm
Io purtroppo faccio molta ma molta fatica ad adeguarmi a certe pratiche.
Per me è innaturale spezzare in questo modo i vari test.
Però è una mia personale deformazione ;)
E poi ci stava la battuta, in attesa che l'OP torni dalla latitanza :P
Title: Re: AIUTO CON UN PROGRAMMA
Post by: Standardoil on May 22, 2019, 08:21 pm
In realtà quell'else vuoto è esplicitamente previsto nelle regole del barr-group (https://barrgroup.com/Embedded-Systems/Books/Embedded-C-Coding-Standard/Statement-Rules/If-Else-Statements)... dopo un po' è come avere il berrettino in inverno :)
per la verità li specificano solo che l'else finale è obbligatorio dopo un else...if, non dopo un if semplice,
Title: Re: AIUTO CON UN PROGRAMMA
Post by: maubarzi on May 22, 2019, 10:49 pm
l'else vuoto lo capisco, fa intendere che non ci si è dimenticati un pezzo...
E' l'allineamento che in realtà aveva scatenato la mia curiosità e mi aveva fatto pensare al feng shui ;)
Sinceramente, con quel tipo di formattazione, io faccio un po' di fatica a leggere il codice, non ci sono proprio abituato.
E anche il fatto di resettare a rate le varie variabili cozza con il mio modo di fare.
Io preferisco avere tutto assieme in una unica
Code: [Select]
if (mr)

e dentro nidificare il resto invece di spezzettarlo per funzionalità.
E' sicuramente più modulare come ha fatto @Claudio_FF ma io non mi ci trovo tanto.
Title: Re: AIUTO CON UN PROGRAMMA
Post by: Standardoil on May 23, 2019, 07:00 am
Secondo il mio socio, secondo me, e anche secondo il barr_group citato da claudio, indentare in quella maniera è emendabile "proprio" perchè rende illeggibile il programma
citare per citare sono capace anch'io:
regola 3.3a Un solo statement per riga
regola 7.1e le variabili devono avere nome lunghi almeno 3 caratteri, anche i contatori dei cicli
e , rullo di tamburi, la regola più violata di tutte:
regola 1.3b le parentesi graffe aperte devono essere da sole su una riga all'inizio del blocco che aprono, le corrispondenti parentesi graffe chiuse devono essere da sole su una riga alla fine del blocco
Ora, io sono d'accordo che queste regole sono solo consigliate, ma citarne una, la più "nascosta", oltretutto citarla male, dopo aver disatteso tutte le altre non mi è sembrato bello, per nulla
Comunque, alla fine di tutto il pistolotto:
quel frammento di programma è "mal scritto", NON è un esempio di programmazione 'C'
Title: Re: AIUTO CON UN PROGRAMMA
Post by: gpb01 on May 23, 2019, 07:06 am
Secondo il mio socio, secondo me, e anche secondo il barr_group ....
Concordo al 100% su tutto quanto scritto d Standaroil;  quel pezzo di codice è ... un ottimo esempio di come NON si devono scrivere i programmi.  :smiley-mr-green:

Guglielmo
Title: Re: AIUTO CON UN PROGRAMMA
Post by: Claudio_FF on May 23, 2019, 07:18 am
So benissimo che tutte le altre prescrizioni sono state violate, ma non so se scritto secondo esse sia davvero più leggibile, o meglio, comprensibile.
Code: [Select]
p1dn = 0;  // segnali impulsivi alla prima pressione
p2dn = 0;

if (mar)
{
    p1ena = 1;
}
else if (pul1 & p1ena)
{
    p1dn = 1;  
    p1ena = 0;
}
else
{
    // Nothing
}

if (mar)
{
    p2ena = 1;
}
else if (pul2 & p2ena)
{
    p2dn = 1;  
    p2ena = 0;
}
else
{
    // Nothing
}

if (mar)
{
    out1 = 0;
}
else if (p1dn & led & !out2)
{
    out1 = 1;
}
else
{
    // Nothing
}

if (mar)
{
    out2 = 0;
}
else if (p2dn & led & !out1)
{
    out2 = 1;
}
else
{
    // Nothing
}

if (p1dn & p2dn & led)
{
    out1 = 1;  
    out2 = 1;
}

Secondo me a volte la concisione e gli allineamenti, purché riferiti a sezioni molto brevi, aiutano a non perdersi tra troppa "sintassi sparsa". Qui non c'è un grosso algoritmo strutturato, ma programmazione a basso livello (al di sotto restano solo le equazioni del ladder), ci sono quattro blocchetti funzionali molto piccoli e indipendenti che interagiscono tra loro tramite segnali (le variabili). Vedere ogni blocchetto in una piccola area rettangolare, formato da sezioni ben distinte e incolonnate (le condizioni, le azioni ecc) personalmente mi aiuta a non confondermi. Che stilisticamente non piaccia lo posso comprendere.
Title: Re: AIUTO CON UN PROGRAMMA
Post by: gpb01 on May 23, 2019, 07:34 am
Scusa, ma seplificarlo e renderlo più leggibile (gli else vuoti si possono evitare del tutto, checché se ne dica) ?

Code: [Select]
p1dn = 0;  // segnali impulsivi alla prima pressione
p2dn = 0;

if (mar)
{
   p1ena = 1;
   p2ena = 1;
   out1  = 0;
   out2  = 0;
}
else
{
   if (pul1 & p1ena)
   {
      p1dn = 1;  
      p1ena = 0;
   }
   //
   if (pul2 & p2ena)
   {
      p2dn = 1;  
      p2ena = 0;
   }
   //
   if (p1dn & led & !out2)
   {
      out1 = 1;
   }
   //
   if (p2dn & led & !out1)
   {
      out2 = 1;
   }
}

if (p1dn & p2dn & led)
{
    out1 = 1;  
    out2 = 1;
}

Guglielmo

P.S.: ... sono partito dal tuo codice al post di sopra ... non so nenache cosa fa :D :D :D
Title: Re: AIUTO CON UN PROGRAMMA
Post by: gpb01 on May 23, 2019, 07:57 am
... gli else vuoti si possono evitare del tutto, checché se ne dica ...
Mi autoquoto per spiegare ...

Sia le MISRA C-2012, terza edizione Feb. 2019, rule 15.7,  che il libro citato da Claudio-FF (libro che, se ben ricordate, sono stato il primo qui sul forum a consigliare), parlano di mettere sempre lo statemnt else solo nei casi di if ( ... ) .... else if ... e non nei casi di semplici di if in cui non c'è motivo di avere un else vuoto!

In pratica, citando appunto le MISRA C-2012:

Quote
A  final else statement shall always be provided whenever an if statement is followed by a sequence of one or more else if constructs. The else statement shall contain at least either one side effect or a comment.
Per cui:

Code: [Select]
if ( flag_1 )
{
   action_1 ( );
}
else if ( flag_2 )
{
   action_2 ( );
}
/* Non-compliant */

... mentre occorre terminare con:

Code: [Select]
else
{
   ;   /* No action required - ; is optional */
}

Guglielmo

P.S.: il libro "Embedded C Coding Standard", al punto 8.2.d dice esattamente la stessa cosa .... "Any if statement with an else if clause shall end with an else clause.".
Title: Re: AIUTO CON UN PROGRAMMA
Post by: Standardoil on May 23, 2019, 08:08 am
Beh, trasformiamo un problema in una opportunità: ne facciamo l'occasione per aprire un megatopic regole di stile?
Dove consigliamo come scrivere programmi in uno stile standard, condiviso da tutti noi?
E accompagnamo i neofiti a scrivere in una maniera che sia compatibile con esso
Da non doverci tutte le volte scontrare con programmi scritti con colla e forbici?
Title: Re: AIUTO CON UN PROGRAMMA
Post by: AmericanDreamer on May 23, 2019, 08:10 am
Orbene, vediamo SR ci riesco io, seguendo le regole del barrgroup
Code: [Select]

// inizializzazioni varie

void setup(){
// le varie pin mode


}


void loop(){
if(digitalRead(pulsante0))
{avvio=HIGH;
digitalWrite(lampada0,avvio);


}
if(digitalRead(pulsante1)){
if(avvio)
{// vince 1
digitalWrite(lampada1);
}
else
{// barava, vince 2
digitalWrite(lampada2);

stop();
}


E poi basta che col telefono non riesco
Title: Re: AIUTO CON UN PROGRAMMA
Post by: Standardoil on May 23, 2019, 08:16 am
Scusa, ma le regole le hai lette per sapere come evitarle?
Perché seguirle non le hai seguite...

Edit:
Non avevo letto che eri da telefonino.
Lascia stare, scrivi con lo IDE, all'inizio (sei all'inizio, vero?) è già dura da PC, lascia stare tablet, furbofoni e compagnie belle,
Title: Re: AIUTO CON UN PROGRAMMA
Post by: gpb01 on May 23, 2019, 08:18 am
Beh, trasformiamo un problema in una opportunità: ne facciamo l'occasione per aprire un megatopic regole di stile?
Mah ... fare si può fare, ma credi serva a qualche cosa?

Gli utenti continueranno a fare come gli pare, continueranno a non indentare, a non usare la funzione di formattazione automatica che, a costo zero, gli mette a disposizione l'IDE, a non voler sentire la parolina "studiare" e .... chi più ne ha più ne metta ...  :smiley-confuse:

Guglielmo
Title: Re: AIUTO CON UN PROGRAMMA
Post by: Standardoil on May 23, 2019, 08:23 am
Avrai notato che io quelli li martello...
È il mio passatempo durante le lunghe giornate di collaudo cicloconvertitori: martellare gli ignavi...
Title: Re: AIUTO CON UN PROGRAMMA
Post by: Claudio_FF on May 23, 2019, 08:33 am
Scusa, ma seplificarlo e renderlo più leggibile
Leggibile nella sintassi, o comprensibile nella logica? Perché è vero che hai dato una struttura più "canonica" alla sintassi e alle condizioni, accorpando anche apparenti ridondanze, ma seguirne la logica dal punto di vista di interazione tra piccoli functional blocks del tutto indipendenti tra loro che interagiscono, diventa improbo  ;)
Title: Re: AIUTO CON UN PROGRAMMA
Post by: gpb01 on May 23, 2019, 08:46 am
Leggibile nella sintassi, o comprensibile nella logica?
E' ottimizzato in entrambe le cose e, fondamentale nei sistemi a microcontrollore, è estremamente più efficiente (sia a livello di compattezza del codice generato che di velocità di esecuzione, cose essenziali in tali ambienti).

Dimentica l'ambiente PLC e la programmazione LAD (... che vedo usi), qui sei nel mondo dei "microcontrollori" e la logica di programmazione è del tutto diversa.

Guglielmo
Title: Re: AIUTO CON UN PROGRAMMA
Post by: maubarzi on May 23, 2019, 10:48 am
@Claudio_FF scusa, non pensavo che sparando il mio mortaretto (esprimevo il mio gusto personale con una battuta) avrei scatenato il fuoco incrociato dell'artiglieria pesante ;)
Io in genere aborro le regole calate dall'alto come dogmi e mi baso sul buonsenso, che spesso è molto simile a tali regole, anch'esse basate sul buonsenso di altri, ma non ne faccio una questione di principio o capestro.
Trovo, però, più facile seguire un codice scritto come ha fatto Guglielmo, sebbene più dispersivo nello spazio a disposizione, piuttosto di quello scritto da te, anche se il tuo sfrutta meglio lo spazio per essere visibile tutto. Ma questa, da parte mia, è solo una questione di abitudine, credo.
Title: Re: AIUTO CON UN PROGRAMMA
Post by: Standardoil on May 23, 2019, 11:01 am
Certamente abitudine conta
Ma c'è da fare una considerazione
Nei linguaggi interpretati come scrivo ha importanza fondamentale, dato che, ad esempio un lotto di righe vuote tra due statement rimarrà a ingombrare il programma per ogni singola esecuzione, e anche solo il tempo per saltare la riga viene speso
Invece qui abbiamo un compilatore (e anche un preprocessore) che 'ridisegnano' il nostro sorgenteè e poi lo compilano
Approfittiamone
Mettiamo i vari statement 'belli larghi comodi sulla loro poltrona', è inutile scrivere varii (eccecaxxp variO al plurale fa variI qualunque cosa dica il foxxuto correttore di Android)
dicevo è inutile scrivere più statement assieme per risparmiare una riga, rischiando di scordarsi che una if , (ad esempio) esegue comunque sempre solo il primo
O peggio non 'vedendo' che in fondo alla riga, ben oltre la colonna 80, fuori schermo da un pezzo, è rimasta una foxxuta graffa
Leggibilità è questo, e in 'C' la concisione è data dal linguaggio, non dal numero di ritorni a capo
Title: Re: AIUTO CON UN PROGRAMMA
Post by: gpb01 on May 23, 2019, 11:16 am
Io in genere aborro le regole calate dall'alto come dogmi e mi baso sul buonsenso ...
Fortunatamente, specie in certi ambienti (es. automotive) le regole esistono (es. MISRA C) e vanno rispettate, altrimenti ... il software che sviluppi NON viene accettato :)

Dico fortunatamente perché sono regole dettate dall'esperienza e fatte per evitare, il più possibile errori che, in detti ambienti, sarebbero "fatali" !

Guglielmo
Title: Re: AIUTO CON UN PROGRAMMA
Post by: Standardoil on May 23, 2019, 11:22 am
Si possono fare sondaggi qui sul forum?
Se sì apriamo un topic apposta e proponiamo e votiamo una serie di regole comuni e condivise, beninteso da usarsi solo con neofiti
Poi privatamente ognuno usa quello che vuole..
Title: Re: AIUTO CON UN PROGRAMMA
Post by: gpb01 on May 23, 2019, 12:25 pm
Si possono fare sondaggi qui sul forum? ....
T'ho detto che se vuoi, in area Software, il thread lo puoi aprire (lo metto anche sticky), anche se, ripeto, purtroppo so già che da molti verrà beatamente ignorato ...  :smiley-confuse:

Guglielmo
Title: Re: AIUTO CON UN PROGRAMMA
Post by: Standardoil on May 23, 2019, 01:38 pm
Stasera, con calma (calma? Cosa che è?) provo...
Title: Re: AIUTO CON UN PROGRAMMA
Post by: maubarzi on May 23, 2019, 04:27 pm
Dico fortunatamente perché sono regole dettate dall'esperienza e fatte per evitare, il più possibile errori che, in detti ambienti, sarebbero "fatali" !
Ma certo, infatti il mio buonsenso, mi porta molto vicino a tali regole senza averle manco lette.
Però il mio odio verso le regole dogmatiche resta.
In questo caso sono quasi tutte condivise, quindi l'odio scema, paradossale odiare qualcosa che condividi finchè non ne vieni a conoscenza ;)