Хотя у каждого есть хорошая точка зрения на удобочитаемость и хороший стандарт кодирования, приведенный пример показывает, что есть некоторые объекты, которые имеют обязательные и необязательные поля.
Приведенный выше код можно легко объединить в одно и то же "строка ", как это:
Obj o = new Obj([mandatory args])
.optionalParam1(...)
.optionalParam2(...);
Но решено отделить обязательное от необязательного, чтобы оно было более читабельным и хорошо организованным (или, по крайней мере, так я думаю).
Они имеютДоказано, что это не имеет значения, потому что код в конце один и тот же, поэтому мы сами решаем, какие методы работают для вас, а какие нет (мне нравится комментировать мой код, так что легче вернуться, но я делаю это только в своих личных проектах, потому что моя рабочая команда не считает это ценным, если код чистый и не требует пояснений).
Оба ответа от @ Turing85 и @Kavita_p хороши и содержат достаточно контекстаи информация для вас!