Во-первых, я согласен со всеми и скажу, что они одинаковы по функциям.
Тем не менее, я придерживаюсь противоположного мнения о том, что большинство говорят в этом посте, а именно: я думаю, что первый пример - это путь.
И в первом примере я бы расширил его еще с помощью некоторой формы внедрения зависимости. Это даст вам привычку давать вам возможность тестировать вещи, если вам нужно внедрить пробную / тестовую версию этого класса «Нечто».
Кроме того, не нарушая поезда (выполнение более одной операции в одной строке, которая является запахом кода, например, new dog (). GetEyes (). GetColour ();), по моему мнению, улучшает читаемость, а также оптимизирует возможность рефакторинга позже. То, что в данный момент вы вызываете только один метод для этого объекта, не означает, что вам не понадобится этот объект для того, чтобы потом что-то делать с ним, а значит, вам все равно придется извлекать переменную для этого объекта Something.