Scrivo software che prevede l'utilizzo di quantità misurate, molti input dell'utente, la maggior parte visualizzati, che vengono inseriti in modelli di calcolo per simulare varie cose fisiche a un majigs.
Abbiamo creato un tipo di dati che ci consente di associare un valore numerico a un'unità, che chiamiamo queste "quantità" (big duh). Le quantità e le unità sono uniche per dimensione. Ad esempio, non è possibile allegare un chilogrammo a una lunghezza. Il Math sulle quantità fa la conversione automatica delle unità in SI e il tipo è sicuro per le dimensioni (ad esempio, non è possibile assegnare un peso a una pressione).
Sono stati sviluppati componenti UI personalizzati che mostrano il valore e la sua unità e / o consentono all'utente di modificarli. Le quantità senza dimensioni, senza unità, sono un singolo caso personalizzato implementato all'interno del sistema.
Esiste un insieme di quantità correlate tali che il nostro pubblico di destinazione le utilizza apparentemente in modo intercambiabile. Le quantità sono usate in unità speciali che incorporano i fattori di conversione per le relative dimensioni di quantità ... in altre parole, quando si usano queste unità per la conversione da una all'altra si tratta semplicemente di moltiplicare il valore di 1 alla differenza dimensionale. Tuttavia, la conversione da / verso il sistema di calcolo (SI) implica ancora questi fattori. Una di queste quantità correlate è senza dimensione che rappresenta un rapporto.
Semplicemente non riesco a convincere il "cliente" a riconoscere la necessità di distinguere questi valori e il loro uso. Ne hanno scelto uno e vogliono usarlo ovunque, personalizzando il modo in cui lo trattiamo in posti speciali. In questo caso hanno scelto una delle dimensioni che ha un'unità ... MA, non vogliono che ci sia un'unità (GRR !!!). Questo naturalmente ci sta portando ad implementare questi override speciali per i nostri elementi dell'interfaccia utente e simili. Questo ovviamente è spesso dimenticato e peggio ... dopo un paio di mesi tutti dimenticano perché è stato necessario e perché stiamo usando questo valore dimensionale, chiamandolo la cosa sbagliata e disabilitando l'unità.
Potrei semplicemente ignorare il "cliente" e implementare il tipo come quantità senza dimensione, il che ha più senso. Tuttavia, questo lascia al team la responsabilità di capirlo quando ci ha dato una formula usando una delle altre quantità. Non dobbiamo solo capire che sta accadendo, dobbiamo decidere cosa fare. Questo non è un affare banale.
L'altra opzione è solo per dire al diavolo, farlo al cliente, e lasciar perdere tempo e sforzi continui perché è semplicemente decisamente fuorviante. Tuttavia, non posso contare il numero di volte in cui qualcuno ha detto: "Perché questo viene fatto in questo modo, non ha alcun senso", e la squadra va in profondità cercando di capirlo.
Che cosa faresti?
Attualmente sto ancora tentando di convincerli che, anche se usano termini intercambiabili, non possiamo almeno farlo all'interno della discussione sul prodotto. Non avere grandi speranze però.