Scegli la versione che si pensi sia più leggibile.
Esistono casi legittimi in cui la variabile denominata migliora la leggibilità. Ad esempio
public String encrypt(String plainString)
{
byte[] plainBytes = plainString.getBytes(StandardCharsets.UTF_8);
byte[] hashPlainBytes = enhash(plainBytes, 4);
byte[] encryptedBytes = doAes128(Cipher.ENCRYPT_MODE , hashPlainBytes);
String encryptedBase64 = Base64.getEncoder().withoutPadding().encodeToString(encryptedBytes);
return encryptedBase64;
}
public String decrypt(String encryptedBase64)
{
byte[] encryptedBytes = Base64.getDecoder().decode(encryptedBase64);
byte[] hashPlainBytes = doAes128(Cipher.DECRYPT_MODE , encryptedBytes);
byte[] plainBytes = dehash(hashPlainBytes, 4);
String plainString = new String(plainBytes, StandardCharsets.UTF_8);
return plainString;
}
Ci sono anche casi in cui abbiamo bisogno di una variabile in un tipo diverso dal tipo di ritorno. Questo influenza la conversione e l'inferenza del tipo, facendo una differenza semantica significativa.
Foo foo() vs. Foo foo()
{ {
Bar bar = expr;
return expr; return bar;
} }
A meno che non si stia veramente cercando di ottimizzare le prestazioni, è sempre necessario dare la priorità alla leggibilità. – Gnarlywhale
Immagino che non usereste un helper int con qualcosa di semplice come numero/numero2? – SJ19
La dichiarazione di una variabile locale aiuta nel debug quando si desidera ispezionare il valore restituito prima di lasciare la funzione. – HDave