
Evgeniy
14.08.2017
13:27:43
тссс

Saen
14.08.2017
13:28:22
и вот тут начинаются душевные терзания
типа, ЗАЧЕМ я это творю если не понятно выживет проект или нет

Google

Aleh
14.08.2017
13:29:03
смените проекты

Saen
14.08.2017
13:29:09
а я столько оверкодю

Aleh
14.08.2017
13:29:17
и не оверкодь

Saen
14.08.2017
13:29:26
;D
отличный советчик!

Aleh
14.08.2017
13:29:48
надо делать в проекте то, что надо здесь и сейчас. Если потом надо править, то поймите направление изменений и подстройте код под него

Saen
14.08.2017
13:30:05
в реальном мире среднего и малого бизнеса любой проект это выстрел в воздух, с непонианием получится или нет

Aleh
14.08.2017
13:30:52
так это норм, не понимаю в чем вопрос тогда)

Saen
14.08.2017
13:31:46
в том что писать интерфейс кеширования накладней чем если явно без интерфейся просто втулить memcache
и таких моментов натекает достаточно для душевных метаний

Aleh
14.08.2017
13:32:36
ну это нормально

Saen
14.08.2017
13:32:39
но вощем я сам для себя ответил))
да, нормально, но меня смущают душевные метания

Google

Saen
14.08.2017
13:33:07
надо чето с этим делать

Dmitriy
14.08.2017
13:33:09
Если надо запилить быстрый МВП чтобы проверить идею, пох как ты его слепишь
даже без админки это будет норм решение

Aleh
14.08.2017
13:33:31
не совсем пох, потому что надо чтобы он хотя бы работал
а то окажется, что он так плох, что до ума довести его не получится

Dmitriy
14.08.2017
13:33:44
ну это итак понятно

Aleh
14.08.2017
13:33:49
ага, конечно)
просто в таком случае разработка МВП почти не отличается от продакшен кода
ты просто оцениваешь риски и требования, что нужно сейчас, какая у тебя статистика для данного проекта по изменениям этой части

Dmitriy
14.08.2017
13:34:49
мы обычно мвп до ума не доводим.. он выбрасывается и делается нормальная версия, если конечно мвп себя показал

Saen
14.08.2017
13:34:54
ну вощем да, опять нет серебрянной пули)
а я надеялся )

Den
14.08.2017
13:37:11
Я же нашел. И ты найдешь )
Я тоже долго ждал

F01134H
14.08.2017
20:24:11
Я же нашел. И ты найдешь )
ты из параллельного измерения, где процедурное программирование считается эталоном, а технологии из 60 годов изобрели только вчера. То то тебя серебряные пули не берут(

Dmitriy
14.08.2017
21:17:41

Den
14.08.2017
21:20:13
Сорян

Dmitriy
14.08.2017
21:22:16
Больше 4 зависимостей это уже грязь

Den
14.08.2017
21:22:34
Это мой первый метакод. Не судите строго

Google

Den
14.08.2017
21:25:36
Операция создания API контроллера. По одному на ряд в базе.
Или даже, процедура ))))
https://play.google.com/store/apps/details?id=com.madpixels.tgadmintools&hl=en
И это штука норм https://github.com/Bambooir/TeleSeed

Dmitriy
14.08.2017
23:18:42

Den
14.08.2017
23:20:08
Доки не оч удобные
Чекни андройд )
Не досмотрел про Square & Rectangle, но я делал на VueJS директиву v-square, которая принимала коэффициент, тем самым, описывая, то и то. Интересно, он про это скажет в конце?

Sergey
15.08.2017
06:33:46

da horsie
15.08.2017
06:36:24

Sergey
15.08.2017
06:36:45
))

Saen
15.08.2017
08:22:58
я бы сказал 95

Ivan
15.08.2017
08:26:45
как считаете, вызов публичных методов из приватных может привести к чему-то плохому? или это дурной тон? или ок?
в пределах одного класса

Sergey
15.08.2017
08:27:08
it depends
либо твои "публичные" методы на самом деле приватными должны быть, либо у тебя обязанности класса неверно разделены либо так и надо)

Ivan
15.08.2017
08:28:06
то есть, явно есть "душок", да?

Sergey
15.08.2017
08:28:13
нет

Google

Sergey
15.08.2017
08:28:23
все зависит от того что делает приватный и публичный метод

Ivan
15.08.2017
08:28:29
аа, "либо так и надо"

val
15.08.2017
08:29:48
Можно тело публичного метода выделить в приватный и вызывать его и из публичного и из того приватного. Только что это по сути меняет?

Admin
ERROR: S client not available

Sergey
15.08.2017
08:32:13
аа, "либо так и надо"
ты лучше скажи что делает публичный метод и почему ты его вызываешь из приватного ибо я не придумал такого кейса)

F01134H
15.08.2017
08:32:34
тоже интересно

Ivan
15.08.2017
08:32:38
))

Sergey
15.08.2017
08:33:05
вот если не хочешь говорить то тогда что-то явно не так)

Ivan
15.08.2017
08:34:10
сча
public function execute(string $command)
{
$process = $this->createProcess($command);
$process->mustRun();
return $process->getOutput();
}
public function createProcess(string $command)
{
return new Process($this->getCommandLine($command));
}
один метод просто выполняет команду и возвращает stdout
второй возвращает процесс
ну тут можно вынести логику создания Process в другой объект ProcessFactory и заюзать его в объекте с execute

Sergey
15.08.2017
08:39:35
а приватный метод где?

Ivan
15.08.2017
08:40:14
ох
да всё равно пример не подошёл
а публичный из публичного вызывать - нормально?

Sergey
15.08.2017
08:41:32
да как бы все нормально, вопрос то в том что у тебя с разделением ответственности
являются ли эти методы членами одного и того же интерфейса и т.д.
ну короч проектировать интерфейсы надо смотря как их юзают
а не просто так

Google

Sergey
15.08.2017
08:42:19
что бы клиенсткому коду давалось ровно то что надо и не больше
тебе надо в каком-то месте команду выполнить - будет только execute
надо создать процесс - будет только createProcess
очень редко тебе понадобится и то и то

Ivan
15.08.2017
08:55:02
да, тут два интерфейса

Виталий
15.08.2017
08:57:41
Вообще если переопределить публичный метод и поменять там логику, то при вызове из закрытого может оказаться совсем не то, что задумывалось автором исходного класса.

Ivan
15.08.2017
08:58:56
надо ж контракты не нарушать

Виталий
15.08.2017
08:59:09
А контракт и не нарушен
Сигнатура публичного метода не меняется

Sergey
15.08.2017
09:01:54
сигнатура то не поменялась, а вот контракт нарушен

Виталий
15.08.2017
09:02:07
Чой-то?

Sergey
15.08.2017
09:02:15
потому что контракт это поведение

Виталий
15.08.2017
09:02:23
Неа

Sergey
15.08.2017
09:02:30
если у тебя оно "меняется" так что ты больше не можешь его юзать спокойно, то ты нарушил как бы контракт