
Sergey
10.04.2018
20:14:44
даже элементарно берут симфони там где это не нужно

Антон
10.04.2018
20:14:46
Или хочет быть незаменимым и шантажировать
Уууу

Sergey
10.04.2018
20:15:01
поэтому стоит первым делом понять YAGNI и KISS

Google

Ярослав
10.04.2018
20:15:13
У меня был опыт работы с одним разработчиком противоположный тому, что на функциях писал
Так этот там, где нужно и там, где не нужно интерфейсы писал
К каждому классу
Это избыточно

Konstantin
10.04.2018
20:15:34
зато потом орм проще заменять
это же удобно... для программистов

Антон
10.04.2018
20:15:49

Vladislav
10.04.2018
20:15:57

Ярослав
10.04.2018
20:16:03

Vladislav
10.04.2018
20:16:15

Sergey
10.04.2018
20:16:32
я беру самое тупое и простое решение и буду держать его до максимального предела

Антон
10.04.2018
20:16:33
Перепрогнозировали

Sergey
10.04.2018
20:16:41
прежде чем я возьму более сложное решение и выброшу первый вариант
premature optimization is the root..

Vladislav
10.04.2018
20:17:16
premature ejaculation is the root ...

Google

Konstantin
10.04.2018
20:17:22
square root

Антон
10.04.2018
20:17:42
Преждевременная оптимизация - корень?

Sergey
10.04.2018
20:17:59
почему "максимально просто" почему-то считают что это тоже самое что и "максимально костыльно"?

Ярослав
10.04.2018
20:18:28
Также я до сих пор не понимаю, зачем он потратил день на написание реализации либы для использования rabbitmq
Если можно было скачать готовую

Vladislav
10.04.2018
20:18:51
что это?
сдк ?

Ярослав
10.04.2018
20:19:07
И этот код был бы протестирован , документирован и развивался благодаря open source

Sergey
10.04.2018
20:19:07
обычный клиент для кролика)

Ярослав
10.04.2018
20:19:26

Konstantin
10.04.2018
20:19:28
not invented here

Ярослав
10.04.2018
20:19:43
То есть нужды в оптимизациях этого места не было

Konstantin
10.04.2018
20:19:46
есть такие перцы
они думают что они просто бессмертные и у них есть всё время мира чтобы тратить на написание того что уже было написано.

Ярослав
10.04.2018
20:20:32
Просто взял и просрал день на разработку говна без тестов и документации

Konstantin
10.04.2018
20:20:36
причем отмазка тупейшая - "зачем мне либа если я нуждаюсь в 5% ее функционала"

Антон
10.04.2018
20:20:46
Из тимлид говорит небезопасно

Sergey
10.04.2018
20:21:02

Google

Антон
10.04.2018
20:21:04
Ппц

Konstantin
10.04.2018
20:21:07
ну так - найди ту где этот функционал будет около 50% или просто полуркай получше - может эту либу можно еще где то заюзать на проекте (другие фичи этой либы)

Антон
10.04.2018
20:21:21
Их*

Ярослав
10.04.2018
20:21:23
Если написание интерфейсов для каждого класса я ещё могу как-то оправдать, но написание обертки для кролика , если есть готовая либа - нет

Антон
10.04.2018
20:21:25
Угу

Sergey
10.04.2018
20:21:41

Vladislav
10.04.2018
20:21:56

Sergey
10.04.2018
20:22:40
например в джаве это вполне нормальная практика делать Trololo и TrololoImpl или TrololoInterface и Trololo класс

Ярослав
10.04.2018
20:22:55

Sergey
10.04.2018
20:22:57
и так на каждый класс, который будет в IoC

Антон
10.04.2018
20:22:57

Sergey
10.04.2018
20:23:03

Ярослав
10.04.2018
20:23:14

darkwoolf
10.04.2018
20:23:15
https://ru.stackoverflow.com/questions/812100/%d0%a0%d0%b0%d0%b1%d0%be%d1%82%d0%b0-%d1%81-ajax-%d0%b2-symfony

Sergey
10.04.2018
20:23:20

darkwoolf
10.04.2018
20:23:22
Может кто подскажет?

Антон
10.04.2018
20:23:29
Неясно

Konstantin
10.04.2018
20:24:07
чтобы не перекомпилировать

Антон
10.04.2018
20:24:26
Так вот парень вам прислал код с ем в контроллере

Google

Konstantin
10.04.2018
20:24:28
логично что тебе не надо заново компилить класс где вместо Trololo заюзан TrololoInterface

Антон
10.04.2018
20:24:43
А вы тут заливаете про инфраструктуры

Ярослав
10.04.2018
20:25:51
а зачем?)
Для меня интерфейс - договор между пользователем объекта и его создателем и если мне нужно быть уверенным в конкретном функционале объекта не зависимо от реализации пилю интерфейсы

Vladislav
10.04.2018
20:26:09

Sergey
10.04.2018
20:26:21
но близко

Konstantin
10.04.2018
20:26:43
замена реализации в райнтайме, не?

Admin
ERROR: S client not available

Konstantin
10.04.2018
20:26:59
я уже 2 попытки потратил

Sergey
10.04.2018
20:27:08
на каждый класс - по интерфейсы, уж слишком много гибкости для замены реализаций)
1. раньше нельзя было мокать просто класс, только интерфейсы
2. прокси раньше тоже только с интерфейсов можно было генерить, но с cglib стало получше
3. если класс файнал, то ни моков, ни проксей с него не сделаешь без рефлексии
но, это почти все уже давно не актуально, но там до сих пор продолжают иногда делать на каждый бин по интерфейсу..
вот зачем это на пхп делают - это как с мартышками в клетке, которых били током)
ну или же
при этом единственное обьяснение у них это "шоб реализацию можно было заменить"
ну да, других аргументов ведь сложно придумать

Konstantin
10.04.2018
20:30:58
карго культ

Ярослав
10.04.2018
20:31:34
То есть в 2018 в Java неактуально пилить интерфейс к каждому классу ?

Sergey
10.04.2018
20:31:53
в 2018 уже даже и xml файлики в джаве ты не увидишь)
там во всю асинхронность щас, реактивность и тд

Google

Konstantin
10.04.2018
20:32:09
в 2018 жава неактуальна

Vladislav
10.04.2018
20:32:12
spring boot
camel
и тд

Konstantin
10.04.2018
20:32:36

Ярослав
10.04.2018
20:32:52

Konstantin
10.04.2018
20:32:52
надо смотреть response headers в хроме (или че там, фф), что ответил сервер

Vladislav
10.04.2018
20:33:03

Sergey
10.04.2018
20:33:07

darkwoolf
10.04.2018
20:33:10

Konstantin
10.04.2018
20:33:25
да попробуй без секьюрити

Ярослав
10.04.2018
20:33:53
Очень полезная инфа, особенно для моих коллег джавистов, которые сейчас пилят соц.сеть )

Sergey
10.04.2018
20:34:09
актуально пилить соц сеть в 2018?

Ярослав
10.04.2018
20:34:10
И я вижу каждый день TestImpl и Test

Vladislav
10.04.2018
20:34:19
у вас тоже самое? постоянно читаю после таких тредов DDD, DCI и тд, и к некст треду опять надо все перечитывать

Sergey
10.04.2018
20:34:20

Ярослав
10.04.2018
20:34:23

Konstantin
10.04.2018
20:34:38
может они наоборот делают