All streams
Search
Write a publication
Pull to refresh
-19
0
Fortop @Fortop

Пользователь

Send message
Стойкое ощущение от вашего диалога, что вам нужно писать материал по теме, и вы таким образом его собираете…

Во всяком случае ваш собеседник выглядит и много профессиональнее. И предлагает реальное рабочее решение.
Странно что это элементарное решение не фигурирует в заметке.
Вместо ужасной идеи перечислимых списков.
Начну с конца.

В этом ваша и проблема, что вы путаете принципы и конкретные реализации, которые могут от этих принципов отходить.

И, да, Object.toString в java это именно нарушение.
Что явилось причиной такого компромисса это не ко мне.

Вы же даже противоречия в подходе не видите.
Чёткий догмат ООП это SOLID, Java это идеальное ООП — значит бездумно лепим как там.

Теперь возвращаясь к вашему коду
Класс A может содержать метод toB(), но не как интерфейс полученный от родителя.

Строго говоря папа не обязан на генетическом уровне знать как из сына сделать дочку.
Это обязанности хирурга.
У которого общее с папой только то что они люди.

То есть возможен и будет правильным вариант
interface ICommon {}
interface IA extends ICommon {}
interface IB extends ICommon {
toA(): IA
}

Более точный рецепт вы сможете получить дав описание конкретной задачи
Интерфейс не может содержать реализацию.

Object и String в java это классы, а не интерфейсы.
Более того в примерах вашего кода тоже классы.

Что касается нарушения, то сериализация в строку произвольного класса в корневом это и есть general-purpose.

Дальше объяснять?
Если рассматривать со стороны SOLID, то приведеный пример нарушает I
The OOP Principles

All object-oriented programming languages provide mechanisms that help you implement the object-oriented model. They are encapsulation, inheritance, and polymorphism. Let’s take a look at these concepts.

Кстати, на сайте о java

Так что действительно учите-ка матчасть
Вообще класс родитель не должен ничего знать о наследниках

Соответственно у вас в коде реальная жесть.
Либо уберите extends
Либо перенесите toB() в класс B
Вы классные, наверное, оба.

Да только польская нотация и обратная польская нотация отличаются именно порядком:
(операция) (аргументы) для польской нотации + 2 2
(аргументы) (операция) для обратной польской нотации 2 2 +
Перевод статьи это не помощь лично ему

Это скорее провокация на бурление говен. Возможно пиар.
Практической пользы 0.

И, да, не спрыгивайте.
Я уже писал — легко за чужой счёт быть добрым.

Возьмите и сделайте конкретное улучшение лично, не перевод статьи
Не призывы к другим поработать на благо.

А взять и переработать хабр согласно упомянутым гайдлайнам…
Тогда снимем шапку.
А до тех пор — балабол
Никто наличие проблем не отрицает

Кроме вашего воспаленного воображения.

Но проблема есть, а вот помочь lavkasnov, например, лично и бесплатно улучшив хабр, вы отказываетесь.

Верно?
Повторюсь.

Не надо нас стыдить.

Вы лично чуть выше отказались помогать ему и сотням других, кому нужна помощь.
После этого у вас нет никакого морального права что-либо рассказывать по этой тнме
Вы не путайте страну, которая живет на ренту со всего мира, и всех остальных.

целесообразность тех или иных действий у тех и других разная (у кого-то суп жидкий, а у кого-то бриллианты мелкие)

Конкретно вы готовы к налогам на «сверхдоходы»? То есть все ваши доходы сверху средней зарплаты (36 тысяч) изымать на компенсацию уровня и качества жизни тех, кто может меньше.

И, да, не «заказчик платит», а вы лично в нерабочее время и бесплатно будете заниматься улучшением доступности результатов вашей работы.

Готовы?
Нет? Ну тогда закройте свой оголтелый популизм.
За чужой счёт и чужими усилиями очень легко быть «добрыми»
Нет, не понятно что это необходимо

Более того без получения экономического обоснования будет та же бредятина, что и с пандусами, подъёмниками в транспорте и т.п.

«исключительно на личном опыте» это не то, что ждём мы от эксперта и профессионала…

Проблема статьи собственно в этом. И комментарии из разряда «обругали и по женскому полу прошлись» это именно попытки людей разобраться что же в этой статье не так.
Лично для меня был бы удобен ещё функционал, который не дает закрыть тикет, если подвязанные под него блокирующие тикеты не закрыты

Формирование ссылки на связанную задачу это, конечно, лучше чем ничего
Вы же понимаете что это палиатив, а не связь?
Вопрос на засыпку.

Позитивный = открытый + искренний?
Да вы еще и туповаты

на эту конкретную задачу я вам дал решение
В конечном итоге заходите в PhpStorm -> Tools -> Save File as Template | Save Project as Template
используется
http://velocity.apache.org/engine/devel/user-guide.html#Velocity_Template_Language_VTL:_An_Introduction
Читаем, просвещаемся, используем, если очень надо.
Собственно факт балабольства подтвердили.

Если не принимать во внимание создание самих шаблонов (которых кроме как руками никто не сделает), то генерация кода по шаблону проекта в PhpStorm займет ровно один клик.

Гораздо интереснее кодогенерация по существующим схемам БД или UML
И такое в IDE существует, например та же интеграция VisualParadigm в Netbeans или Idea
Зачем, когда есть Vim, который все это умеет.

Сгенерируйте мне пачку (штук 10) моделей и мидлвейров для круда в Zend Expressive
схему БД вам дать?

И, да, судя по вашей заявке вам даже настраивать vim не придется, поскольку он это может сделать «искаропки»

В противном случае мы наблюдаем типичный пример балабола…
И остальное даже комментировать не имеет смысла.
Очередные безосновательные заявления.


Тогда откройте нам тайну. По какой причине вы не в состоянии оценивать трудоемкость проектов в человеко-часах?

О каком интерфейсе речь?

Вот в этом все комбайнеры…

О интерфейсах классов, о которых мы ранее вели речь, и в качестве примера которых приводили метод save()

Зачем по ним бегать, там все явно и понятно.

Когда их 2 — конечно
Но в нашем сферическом примере их 50

О каких фреймворках речь? Я говорю о любом проекте, в котором используются контроллеры или миграции.

Вы еще не в курсе, что в разных фреймворках это реализуется индивидуально?
И Silex, Expressive, ZF, Laravel будут иметь отличные кодовые базы для контроллеров.
С миграциями чуть проще, но тоже будут отличия.

В конечном итоге заходите в PhpStorm -> Tools -> Save File as Template | Save Project as Template
используется
http://velocity.apache.org/engine/devel/user-guide.html#Velocity_Template_Language_VTL:_An_Introduction
Читаем, просвещаемся, используем, если очень надо.

И, да, я не даром привел в пример apigility — пользуйтесь.
Там есть много чего в экосистеме Zendframework

Очередные безосновательные заявления.

Да вы же своими вопросами основания как раз и даете — вы просто демонстрируете, что не знаете как использовать IDE

Information

Rating
Does not participate
Location
Донецкая обл., Украина
Date of birth
Registered
Activity