@jvmchat

Страница 1342 из 2890
Ivan
11.04.2017
09:35:58
у тебя дверь состоит из петель и доски

Митко Соловец?
11.04.2017
09:35:58
плевались все

Ivan
11.04.2017
09:36:21
вот тебе классы внешние, и те которые внутри но с которыми никто непосредственно не работает

кроме самой двери

Google
Andrey
11.04.2017
09:36:54
говорю из реального опыта работы с проектом, написанным таким образом
Блин, у тебя все действия состоят из маленьких действий. Реализуешь каждое из этих действий на своём уровне. Кода много, но всё понятно, так как за каждую част отвечает буквально 10-20 строчек.

Придумай пример, я тебе покажу как бы я его реализовал.

Ivan
11.04.2017
09:37:36
где еще можно юзать дверные петли?

Andrey
11.04.2017
09:37:40
если мне понадобятся действия из этого класса в другом месте?
Проблем никаких. У тебя иерархические зависимости. Из-за чего всё ок.

Кирилл
11.04.2017
09:37:45
Ладно дверь, а если лопата?

Andrey
11.04.2017
09:37:54
Нужны петли в двери, используй их в холодильнике.

Ivan
11.04.2017
09:37:57
черенок вполне себе отдельный класс

Andrew
11.04.2017
09:38:07
Привет. Вопрос касательно безопасности. Как лучше организовать вход в приложение с использованием смс аутентификации. 1. На сервере генерируется проверочный код и записывается в БД. Код шлется пользователю, затем пользователь снова шлет запрос на сервер с этим кодом, на сервере проверяется и возвращается ответ. 2. Код генерируется на самом устройстве и отправляется на сервер для отправки смс пользователю. Код приходит и проверяется на самом устройстве на соответствие. 3. Более умный вариант?

Andrey
11.04.2017
09:38:10
Методы одни и те же и несут один и тот же смысл.

Митко Соловец?
11.04.2017
09:39:02
Методы одни и те же и несут один и тот же смысл.
ну т.е. мне тащить весь класс ради пары методов

Google
Митко Соловец?
11.04.2017
09:39:05
такое себе

Andrey
11.04.2017
09:39:28
ну т.е. мне тащить весь класс ради пары методов
Эм, выдели подкласс. В чём проблема?

Митко Соловец?
11.04.2017
09:39:48
Эм, выдели подкласс. В чём проблема?
нахрена подкласс, если можно отдельный компонент, который производит действия?

зачем лепить эту лапшу из матрешек на пару тысяч строк

в серьезном проекте именно так и будет

Andrey
11.04.2017
09:40:32
зачем лепить эту лапшу из матрешек на пару тысяч строк
Зачем лепить эту матрёшку? Я тоже против этого. Используй DI, но у тебя должна быть строгая иерархия.

Митко Соловец?
11.04.2017
09:41:02
Митко Соловец?
11.04.2017
09:43:15
Подклассы нужны чуть чаще, чем никогда
вижу их в основном в алгоритмах и либах

а так редко

Valeriy
11.04.2017
09:43:30
Ну и да, я открыт для переубеждения

Andrey
11.04.2017
09:43:55
Ща, сформулирую.

Valeriy
11.04.2017
09:44:03
вижу их в основном в алгоритмах и либах
Еще когда наговнодизайнил, потом выкручиваешься

Andrey
11.04.2017
09:44:21
Во, у тебя не должно быть возможности влиять на чужой объект извне класса.

Митко Соловец?
11.04.2017
09:44:30
почему?

с чего такое мнение

Andrey
11.04.2017
09:44:47
Потому что это путает логику. Ещё спроси почему goto плох.

Митко Соловец?
11.04.2017
09:44:53
в смысле?

Google
Митко Соловец?
11.04.2017
09:44:55
что путает?

Andrey
11.04.2017
09:45:14
Если ты извне можешь менять обёект, то ты позволяешь этот объект сломать.

А чем меньше свободы, тем лучше.

Valeriy
11.04.2017
09:45:56
Нельзя менять непосредственно внутренний стейт, Андрей имеет в виду. Только через api

Andrey
11.04.2017
09:46:23
Пошёл учится объяснять свои мысли.

Митко Соловец?
11.04.2017
09:46:27
Sysyarp sysyarp = new Sysyarp(); sysyarp.setRating(-100000); sysyarpRepo.attach(sysyarp);

Valeriy
11.04.2017
09:46:29
И сет гет это не api, это прямой инжект в поля

Митко Соловец?
11.04.2017
09:46:45
вот мой пример - это нельзя, да, Андрей?

Valeriy
11.04.2017
09:47:08
Andrey
11.04.2017
09:47:10
вот мой пример - это нельзя, да, Андрей?
Сделать ты это можешь, но какашка получается.

Митко Соловец?
11.04.2017
09:47:15
почему?

Митко Соловец?
11.04.2017
09:47:17
конкретно

примеры и проблемы

Andrey
11.04.2017
09:47:29
Да, сделай конструктор
Кстати, насчёт геттеров я против не имею, но сеттеры - зло.

Valeriy
11.04.2017
09:47:42
В рантайме кто-то сетает в бегущий объект и * радуга*

Andrey
11.04.2017
09:47:59
примеры и проблемы
Ты уверен, что объект не сломается, если ты засетишь туда определённое значение?

Митко Соловец?
11.04.2017
09:48:00
в смысле кто-то? ты сам определяешь логику

Andrey
11.04.2017
09:48:14
в смысле кто-то? ты сам определяешь логику
Ты не пользуешься чужими библиотеками?

Valeriy
11.04.2017
09:48:15
Ты как дядя боб

Google
Митко Соловец?
11.04.2017
09:48:19
Andrey
11.04.2017
09:48:26
Ты доверяешь коду, который писал 3-4 года назад?

Митко Соловец?
11.04.2017
09:48:37
причем тут чужие библиотеки, вы наслушались Егора или еще кого, а мысли свои выразить не можете

ни 1 аргумента по делу

пиздец

Valeriy
11.04.2017
09:49:20
в смысле кто-то? ты сам определяешь логику
Так мы дойдем до того, что налл сэйфети как в котлине и расте не нужны

Admin
ERROR: S client not available

Митко Соловец?
11.04.2017
09:49:38
это лишь инструмент

Valeriy
11.04.2017
09:49:39
Причем тут Егор вообще

Митко Соловец?
11.04.2017
09:50:00
Sysyarp sysyarp = new Sysyarp(); sysyarp.setRating(-100000); sysyarpRepo.attach(sysyarp);

еще раз, вот пример

Andrey
11.04.2017
09:50:33
еще раз, вот пример
Отлично. Ты уверен, что у тебя ограничения по рейтингу нет?

Или в доку за этим лезть надо?

Valeriy
11.04.2017
09:50:57
Ну страдай, не делай поля final, не пользуйся concurrency аннотациями, стреляй себе в ногу -- мне не жалко

Andrey
11.04.2017
09:51:02
И что такое рейтинг?

Valeriy
11.04.2017
09:51:33
Егора я кстати не поддерживаю, ооп говно ящитаю. Пишу на смеси императива, ооп и функциональщины

Митко Соловец?
11.04.2017
09:52:16
ладно, чтобы водичку не разводить, переделайте мой пример кода, как вы считаете

и разойдемся

Google
Valeriy
11.04.2017
09:52:56
В конструктор

Andrey
11.04.2017
09:53:40
Valeriy
11.04.2017
09:53:45
No silver bullet, максимум, что мы можем, это следовать best practices, набранных из опыта

Митко Соловец?
11.04.2017
09:53:57
Valeriy
11.04.2017
09:53:58
+

Митко Соловец?
11.04.2017
09:54:06
с конструктором согласен

но то, что показали, блеванул

а если у тебя 10 полей модель?

а если вложенная модель?

Valeriy
11.04.2017
09:54:36
Нахер ты смешал в одном методе независимые вещи?

Митко Соловец?
11.04.2017
09:54:58
и после этого мне Андрей будет про жизненный опыт затирать, круто че

Valeriy
11.04.2017
09:55:09
Теперь еще и непонятно, что за аргумент, число какое-то

Кирилл
11.04.2017
09:55:15
Sysyarp sysyarp = new Sysyarp(); sysyarpRepo.attach(sysyarp, -1000000);
Нихя, это ж не репо, а менеджер получается.

Митко Соловец?
11.04.2017
09:55:17
мне такого опыта не надо, спасибо

Valeriy
11.04.2017
09:55:40
Ладно, может, он поторопился просто

Кирилл
11.04.2017
09:55:46
И на каждый чих городить менеджера, дичь какая-то

Митко Соловец?
11.04.2017
09:56:02
и да, в паттерне репо, ты работаешь подобно с коллекцией элементов, у тебя там простые атомарные операции, собираешь объект, передаешь, происходит аттач к контексту/флаш, возвращается объект

Andrey
11.04.2017
09:57:45
и да, в паттерне репо, ты работаешь подобно с коллекцией элементов, у тебя там простые атомарные операции, собираешь объект, передаешь, происходит аттач к контексту/флаш, возвращается объект
Вот честно, я не знаю названий паттернов, кроме самых простых. Я предположил, что там хранятся по какому-то признаку элементы. Вот я и храню по рейтингу. Когда мы забираем объект, то, мы возвращаем другую структуру, где этот рейтинг указывается.

Страница 1342 из 2890