
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
Придумай пример, я тебе покажу как бы я его реализовал.

Митко Соловец?
11.04.2017
09:37: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:38:27

Andrey
11.04.2017
09:38:29

Митко Соловец?
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

Митко Соловец?
11.04.2017
09:41:02

Valeriy
11.04.2017
09:42:08
Подклассы нужны чуть чаще, чем никогда
Агрегация

Митко Соловец?
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, это прямой инжект в поля

Andrey
11.04.2017
09:46:43

Митко Соловец?
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
И что такое рейтинг?

Митко Соловец?
11.04.2017
09:51:03

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

Митко Соловец?
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
и да, в паттерне репо, ты работаешь подобно с коллекцией элементов, у тебя там простые атомарные операции, собираешь объект, передаешь, происходит аттач к контексту/флаш, возвращается объект
Вот честно, я не знаю названий паттернов, кроме самых простых. Я предположил, что там хранятся по какому-то признаку элементы. Вот я и храню по рейтингу. Когда мы забираем объект, то, мы возвращаем другую структуру, где этот рейтинг указывается.