Witam
Co myślicie o używaniu typu optional w sygnaturze metody ? Czy to jest błąd czy może dobre podejście ?
Często się z tym spotykam na code review i zawsze jedna jak i druga strona ma konkretne argumenty odnośnie tego że wolno/nie wolno lub nawet trzeba
Taki przykładowy kodzik:
public List<ToolProject> getFiltered( String projectId, Long toolId) {
// jakiś kodzik wyżej
if (toolId != null) {
externalSystemsFiltered = externalSystemsFiltered.stream()
.filter(externalSystem -> externalSystem.getId().equals(toolId))
.collect(Collectors.toList());
}
//jakiś kodzik niżej
czy może lepiej tak:
public List<ToolProject> getFiltered( String projectId, Optional<Long> toolId) {
// jakiś kodzik wyżej
if (toolId.isPresent()) {
//costam costam
}
//jakiś kodzik niżej