Wybierz wersję myślisz jest bardziej czytelny.
Istnieją uzasadnione przypadki, w których wymieniona zmienna poprawia czytelność. Na przykład:
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;
}
Istnieją również przypadki, w których potrzebujemy zmiennej w innym typie niż typ zwrotu. Wpływa to na konwersję i wnioskowanie typu, co powoduje znaczącą różnicę semantyczną.
Foo foo() vs. Foo foo()
{ {
Bar bar = expr;
return expr; return bar;
} }
Jeśli naprawdę nie próbujesz zoptymalizować wydajności, zawsze należy nadać priorytet czytelności. – Gnarlywhale
Zgaduję, że nie użyłbyś pomocy pomocniczej z czymś tak prostym, jak numer/numer2? – SJ19
Deklarowanie zmiennej lokalnej pomaga w debugowaniu, gdy chcesz sprawdzić wartość zwracaną przed opuszczeniem funkcji. – HDave