
Sergey
22.04.2017
08:39:01
https://gist.github.com/fesor/76d39b19b18f7103a7c058301dc6a8fe
например
где я ссылаюсь и на coupling и на coheasion
и ассампшен что человек который читает этот стайлгайд если не знает что это такое спросит

Google

Sergey
22.04.2017
08:39:51
и тогда уже будут ссылки на литературу
в зависимости от того что именно человек не понимает

Max
22.04.2017
08:40:22
у нас в конторе все закрыто комерческой лицензией
в личку ща кину кусок

Sergey
22.04.2017
08:40:58

Max
22.04.2017
08:41:02
а дискусия вышла немного за рамки топика, поэтому предлагаю закончить - нужно соблюдать баланс в зависимости от проекта

Sergey
22.04.2017
08:41:33
Project Styleguide
========================+
Делай хорошо

f4rt~
22.04.2017
08:41:57

Max
22.04.2017
08:41:57
а по поводу книги - стоит только ради коллекции, емкая выжиска содержится в конце книги - это можно взять и в электроном виде

Sergey
22.04.2017
08:41:58
http://memesmix.net/media/created/ohg1bn.jpg

Sergey
24.04.2017
12:18:11
> Объективно говоря, God Object — это лучший способ начинать проектировать систему.
Есть две альтернативы:
1. Потратить время на разработку true-ООП-архитектуры, при реализации обнаружить проблемы, потратить еще время на разработку true-ООП-архитектуры, в итоге потратить время и не получить результата.
2. Потратить время на разработку God Object'а, изучить его работу в реальной системе, позже — рефакторить и оптимизировать по необходимости.
Нетрудно догадаться, что второй вариант на практике предпочтительнее.
https://pp.userapi.com/c636926/v636926730/77dad/wJ3rAEWu05E.jpg
Как было на самом деле:

Google

f4rt~
24.04.2017
12:24:51

Sergey
24.04.2017
12:24:54
https://pp.userapi.com/c636926/v636926730/77db6/71vHhKxNGho.jpg

Evgeniy
24.04.2017
12:35:42
на последней картинке истинный С++ программист )

Gen
24.04.2017
13:02:00

Sergey
24.04.2017
13:12:27
это как рассматривать только две крайности
делать сразу хорошо или сразу очень плохо
есть более предпочтительный вариант - делать посередине
то есть не тратить месяцы на проектирование, па день-два
а потом рефакторинг постоянно
с появлением новой информации о том как все же должно работать

Evgeniy
24.04.2017
13:17:43
нормально делай нормально будет

Sergey
24.04.2017
13:17:53
+1

Sergey
24.04.2017
16:49:12

Aleh
24.04.2017
16:51:30
Так что полностью согласен с теоремой господина с картинки выше

Like
24.04.2017
16:52:32
Интересно, а что такое Yii::$app ?
Божественный батя объектов или шо?)

?
25.04.2017
02:19:30
https://github.com/rooby-lang/rooby

Aleh
25.04.2017
07:49:01
Есть же crystal

Google

?
25.04.2017
10:26:59
https://www.exakat.io/moving-from-array-to-class/

Evgeniy
25.04.2017
10:45:29
это же в php digest была ссылка

?
25.04.2017
10:45:59
да

Evgeniy
25.04.2017
10:47:19
я все равно по англиски не понимаю))) (сарказм)

Aleh
27.04.2017
10:23:38
https://twitter.com/ircmaxell/status/853997289924431872

f4rt~
27.04.2017
10:24:35
повеселил один из коментов

Aleh
27.04.2017
11:08:00
который?

f4rt~
27.04.2017
11:11:48

Aleh
27.04.2017
11:49:12
https://m.habrahabr.ru/post/327484/
вот вам хороших песенок про tdd в пятницу вечером https://youtu.be/dJUVNFxrK_4?t=55m54s

da horsie
28.04.2017
17:52:56
"make sure they did not repeat the same year 20 times" - excellent point

Aleh
28.04.2017
17:55:13

da horsie
28.04.2017
17:58:06
да я и сам такой
по цифрам опыта много, а в реальности хрен его знает

Victor
29.04.2017
14:48:06
Это нормальная практика - делать отдельную модель для БД, отдельную для фронта? По одной сущности

Sergey
29.04.2017
14:55:07
ну и вообще это как бы весьма абстрактный вопрос
"модель для БД" - это скорее просто модель на запись, а для "фронта" - на чтение. У этих операций как правило разные зоны ответственности а значит им далеко не всегда нужно быть "одинаковыми"

Admin
ERROR: S client not available

Google

Victor
29.04.2017
14:57:17
ну вот да, по факту они разные, просто одна сущность вытекает из другой
есть какое-то правило именования?

Sergey
29.04.2017
14:58:34

Victor
29.04.2017
15:34:46
о, вот что посоветовали:
User и UserDTO

Ilia
29.04.2017
15:51:34
/stat@combot

Combot
29.04.2017
15:51:34
combot.org/chat/-1001071233926

Sergey
29.04.2017
16:04:03
ну мол UserDTO не особо говорит зачем оно надо и что делает
хотя если у тебя есть конвеншен где-то на уровне ридми проекта что мол Something DTO is data model for presentation layer
то тогда ок

Victor
29.04.2017
16:07:42
ну как же
для дата трансфера

Andrey
29.04.2017
16:10:19

0x9d8e
29.04.2017
16:32:15
Блин, сейчас убьюсь об стену.

Aliaksandr
29.04.2017
16:33:43
Давно пора.

F01134H
29.04.2017
16:34:09
на сцену вышел мистер остроумие 2017

0x9d8e
29.04.2017
16:44:10
Появились новые особенности бизнес-логики. Описал её процедурно строк в 50-60. Но вот абсолютно не могу понять как мне её встроить имеющуюся систему. И даже как вообще всё это переделать чтобы сварганить из этого нормальный ооп. И даже не нормлаьный.
Второй или третий день толлько туплю, что-то пишу и удаляю.
Попробую тут это словами описать, может пока описываю сам пойму чего.

Sergey
29.04.2017
16:46:09
Попробуй)

Google

Aliaksandr
29.04.2017
16:46:37

0x9d8e
29.04.2017
16:46:38
В самых общих чертах у нас есть товары и услуги. Их заказывают пользователи и оплачивают через платежи.
Это всё как бы готово было до недавнего времени.

Sergey
29.04.2017
16:48:19
Слишком абстрактно

0x9d8e
29.04.2017
16:48:36
Сейчас всё будет
В плане данных есть следующие модели (в смысле AR, тупо пассивные структуры):
Orders
OrderGoods
Goods
PaymentItems
Payments
User
Goods добавляется в OrderGoods (good_id, count).
OrderGoods ссылаются на свой Order (order_id).
Order ссылается на своего юзера (user_id).
Order добавляется в PaymentItems (туда не только Order добавить можно).
PaymentItems ссылаются на свой Payment.
Payment нам важен статусом и способом оплаты.