Как стать автором
Обновить

Комментарии 34

Так ведь можно и ООП головного мозга подхватить.
Это для уже инфицированных…
Наоборот, этот проект — лучшая вакцина от него.
Прививка — самый уместный термин здесь.
Подписался на репозиторий. Надеюсь проект будет развиваться )
Адский ад!
Хотя не совсем понял, на что намекал следующий кусок:
String myString = myStringBuilder.toString();
return new String(myString);

На то, что энтерпрайз-код на Java нередко пишется индусами?
Это очень нужный паттерн. Если вы вернете ссылку на строку, а на эту же строку есть ссылки еще где-то, то «мало ли что» может быть. А если вы создадите новую строку, то возвращаемая вами ссылка точно будет единственной и уже точно «все будет хорошо».
Понял. Защита от того случая, если в новой версии Java строки вдруг станут мутабельными :)
Не совсем, по причине описанной выше, такое обычно делается когда именно «все» является объектами (тот же питон), там тоже нужно применять для коллекций например «deep copy». Т.е. это не связано с immutable и прочим.
P.S. и это не паттерн, ну т.е. не паттерн проектирования, просто у каждого под «паттерн» что-то свое :S
>>Прекрасен класс NewLineStringReturner, который возвращает перенос строки,

Он не прекрасен а ужасен. Вместо того, что бы сконфигурировать фабрику локалью и культурой и получить класс, возвращающий перенос(или какой-то подобный бред) имеем.
================================
StringBuilder myStringBuilder = new StringBuilder(systemDefaultNewLineString);
String myString = myStringBuilder.toString();
return new String(myString);
================================
Ну можно было еще пустой цикл вставить. Ахаха-бугга!
Вы серьезно?
Главное, что остальной код комментатора выше полностью удовлетворяет.
НЛО прилетело и опубликовало эту надпись здесь
ну разве что так.
Абсолютно. Доведение до абсурда и демонстрация интерпрайза головного мозга — это может быть забавно. Тупой говнокод(еще и бессмысленный к тому же) — нет.
ИМХО, конечно.
Нужно просто убрать FizzBuzz из названия и на собеседовании спрашивать результат выполнения
Умиление. Джааааавочка! Короткие имена пакетиков!

package com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl;
Как-то скучно :) Одно и тоже по всем классам распихано.
Лучше бы Spring прикрутили :)
Да! Как же я мог забыть про EJB! :)
Еще надо сделать так, чтобы приложение запускалось только под какой нибудь древней версией Java и падало с ошибками на любой свежей, иначе на Enterprise не тянет.
Я не могу назвать это архитектурой. Сильная связность у класса FizzBuzz.java повергнет разработчика интерпрайза в тяжёлые необратимые психологические мучения при изменении требований.
Архитектура — это каркас приложения который позволит в дальнейшем решать подобные задачи с минимальными усилиями. В данном случае необходимо будет написать еще десяток интерфейсов и классов.

Нарушена большая часть базовых принципов хорошей архитектуры — SOLID. Разве что Принцип единственной обязанности и Принцип разделения интерфейсов удались на славу.

Срочно на рефакторинг!
При этом надо заметить, что другую крайность никто не упоминает. Например, предложение потратить несколько часов на подумать и потом хоть сколько-нибудь структурировать программу в 90% натыкается на возражение — не хотим делать универсальный всемогутор, это не по аджайлу, да потом перепишем, и все дела
А почему без Spring?
Да, как раз напоминает ответ на PHP реализацию сложения в рамках Java.

Наше ООП, самое ООпастое ООП в мире…
Я не совсем понял, почему абсолютно не используется DI? А вдруг я захочу другой генератор новой строки? И что мне теперь, во всех местах менять имплементацию что ли?
Если я не знаю большинства примененных в проекте шаблонов и абстракций, это значит, что я плохой программист и не смогу писать на Java?
Нет, просто с вами все в порядке :)
Зарегистрируйтесь на Хабре, чтобы оставить комментарий