Nei commenti a una risposta di un'altra domanda , ho proposto il seguente codice Java come un modo migliore di scrivere un variante più procedurale della stessa operazione:
employeeService.getEmployee()
.map(Employee::getId)
.ifPresent(System.out::println);
(dove getEmployee()
restituisce un Optional<Employee>
)
Una risposta a risposta a questo commento suggerisce che questo "riduce drasticamente la leggibilità del codice" e che il commentatore lo rifiuterà nella revisione del codice.
Non capisco questa posizione: per me il codice sembra leggibile, o anche più leggibile, rispetto al codice di stile procedurale alternativo che era destinato a sostituire. Eppure almeno due spettatori di quel commento credono che sia difficile da leggere. Perché? Cosa rende questo codice difficile da leggere (almeno per alcuni lettori)?