Assegnazione di nomi alle variabili con unità a punto fisso [chiuso]

2

Che cosa dovrei nominare una variabile che ha unità con un punto fisso?

int herpLimitLo_psig2 = 6000; // 60.00 psig
int derpLimitLoPsigwithtwodigits;
int herpLimitHiPsigfixedtwo;
int herpLimitHi_psig_timesOneHundred;

A quanto pare, faccio schifo nel nominare le cose.

    
posta Philip 07.09.2012 - 17:37
fonte

2 risposte

5

Solo herpLimitLo è sufficiente.

I nomi delle variabili sono costosi; non puoi renderli troppo lunghi o il tuo codice sarà illeggibile (dopo tutto, la ripetizione eccessiva di informazioni eccessivamente ridondanti causa eccessivamente il superamento eccessivo dei sistemi di elaborazione dell'eccesso del cervello umano se usato eccessivamente), ma tu vuoi che siano tanto descrittivi quanto possibile. Questo significa che dovresti nominarli dopo il loro significato ; cose come la gamma di valori attesi o la semantica del valore possono essere espresse attraverso altre funzionalità linguistiche in quasi tutti i linguaggi di programmazione.

Ad esempio, in C, puoi usare typedef ; anche se il tipo "reale" della variabile è ancora int , scriverlo come fixed_2 herpLimitLo suggerisce di cosa si tratta. In una lingua con sistemi di tipi più sofisticati, sia dinamici che statici, è possibile definire un tipo effettivo per i numeri a virgola fissa base 2. A seconda della lingua, puoi anche sovraccaricare le comuni operazioni numeriche per lavorare in modo trasparente con tali numeri in virgola fissa.

Alcune lingue si rifiutano persino di compilare il tuo codice se fai cose stupide come provare ad assegnare direttamente una float a una fixed_2 , a condizione che tu le definisca effettivamente come tipi diversi - nessuna convenzione di denominazione nel mondo può fallo per te.

    
risposta data 07.09.2012 - 18:10
fonte
1

che dire nominare la variabile in base al suo significato nel contesto attuale? Dovresti evitare di nominare le variabili dopo il loro tipo.

L'unica informazione importante che dovresti essere in grado di recuperare facilmente è il fattore di interpretazione. Nella maggior parte dei casi, ce ne sarà solo uno, quindi puoi definire una costante e usarla ovunque ti serva (ed evitare di inserirla nei nomi delle variabili).

Se stai usando molte diverse precisioni nei tuoi calcoli, dovresti usare un tipo specifico per i calcoli a virgola fissa.

Almeno in modalità debug, questo tipo dovrebbe essere in grado di darti la precisione di una determinata variabile, e ti impedisce di fare cose come aggiungere due numeri con precisioni diverse (almeno nella modalità di debug). E così sei anche libero di dare alla tua variabile un nome breve e significativo.

esempio in python:

speed = FixedPoint(precShift=5, val=64) # --> 2 m/sec
duration = FixedPoint(precshift=2, val=5) # --> 2.5 sec
length = speed * duration # precShift=7, value=320
    
risposta data 07.09.2012 - 17:53
fonte

Leggi altre domande sui tag