@oop_ru

Страница 463 из 785
Sergey
19.01.2018
23:19:26
интеграционные.... ну типа нужны но редко

Bohdan
19.01.2018
23:19:45
тогда всякие предустановленные e2e для js - то же самое, что фантом/селениум/безголовый хром, но не чёрная коробка, так как пишутся девелопером?

Max
19.01.2018
23:19:57
по поводу гимнастики - это хорошее упражнение что бы ты вообще начал задавать вопросы в духе "как так без геттеров!?" или "как так только 3 поля на класс?"
Частично я и сам к некоторыми правилам пришел, но вот выделять name в отдельный класс Name, когда можно просто сделать string - это ведь мега-раздувает сложность, особенно если проект сложнее "корзина-заказ-клиент".

Google
Bohdan
19.01.2018
23:20:37
ну вон у ангулара из коробки идёт настроенный e2e вроде названий не знаю, я не вникал ещё во фронт тесты

Sergey
19.01.2018
23:20:58
в реальности у тебя будут FullName какие с тремя полями (или больше) или что-то более конкретное для проекта

Bohdan
19.01.2018
23:21:11
ContactData

Sergey
19.01.2018
23:21:16
ContactData
слово Data я бы убрал)

ну вон у ангулара из коробки идёт настроенный e2e вроде названий не знаю, я не вникал ещё во фронт тесты
можешь на протракторе, можешь на кукумбере с протрактором, можешь на джасмине....

у меня сейчас реакты - я хз как на них e2e писать, вот сижу разбираюсь

Bohdan
19.01.2018
23:22:23
внесу все, что можно, в реальную сущность Contact и уберу) пока так и embeddable

Max
19.01.2018
23:22:43
почитай про primitive obsession
Это понятно, но я про управление сложностью, ведь лучшее враг хорошего. Да и как потом обращаться к юзеру по имени, user.name.first_name ?

Sergey
19.01.2018
23:23:29
Это понятно, но я про управление сложностью, ведь лучшее враг хорошего. Да и как потом обращаться к юзеру по имени, user.name.first_name ?
отображение - совсем другой консерн) возможно у тебя будет компонент UI которому ты будешь передавать юзера. Там будет компонент отображающий имя. А он уже разберется.

Google
Sergey
19.01.2018
23:23:58
ну и еще - для UI можно делать кастомные модели данных

Bohdan
19.01.2018
23:24:01
у меня в contact<data> имена, почта, телефон и подобное - чаще всего оно нужно в одном месте все сразу

Sergey
19.01.2018
23:24:19
это зависит от проекта. Ну и да прибудет с тобой высокий кохижен и низкий каплинг)

Это понятно, но я про управление сложностью, ведь лучшее враг хорошего. Да и как потом обращаться к юзеру по имени, user.name.first_name ?
в целом - сложность наоборот будет снижаться так как вся логика и бизнес ограничения будут изолированы и в одном месте. Дальше главное не попастся в ловушку преждевременных обобщений

Bohdan
19.01.2018
23:25:33
Max
19.01.2018
23:25:44
отсюда ведь и вытикают всякие уязвимости, баги и тд

т.е. надо ли им было там DTO или нет

Sergey
19.01.2018
23:26:53
ты кстате считаешь нормальным пихать полную модель в темплейт-контекст, как в случае с мозилой?
ну в случае мозилы - в целом норм. Да и сам я частенько так делаю (потому что ленивый). Но обычно у меня данные в DTO формируются (UI layer не должен иметь доступа к write части). Тут вопрос не в том что бы случайно не вызвать - а просто код не должен зависеть от вещей которыми он не пользуется.

ну и не забываем что для вещей посложнее существует CQRS

Bohdan
19.01.2018
23:27:20
что там мозилла?

Max
19.01.2018
23:27:31
что там мозилла?
https://github.com/mozilla/addons-server/blob/master/src/olympia/ratings/views.py

Sergey
19.01.2018
23:27:32
что там мозилла?
там выше ссылка была на контроллер)

о, вот тут веселее

filter_queryset - тут таки напрашивается какой-нибудь VO

ну то есть "слои" я бы все еще не вводил, но попытался бы как-то логику повыносить в отдельные объекты

потому что тут чисто приемочными тестами уже не обойдешься)

Max
19.01.2018
23:32:11
ну то есть "слои" я бы все еще не вводил, но попытался бы как-то логику повыносить в отдельные объекты
если выносить в отдельные функции, оно же еще больше распухнет и усложнится, разве нет?

в том плане, что он что-то вынесет (получение модели + фильтры), а что-то нет (просто получение модели), и разобраться где-что будет сложнее

Google
Sergey
19.01.2018
23:34:18
новые модули != новый слой

не сервисы а объекты значения

> разобраться где-что будет сложнее это уже как сделаешь. В моем случае просто куски кода переедут. И все. top-down декомпозиция

Max
19.01.2018
23:36:23
я не говорил о функциях - я говорил о новых модулях
ну в плане переедут куда-нибудь как хелпер, в модуль helpers.py в этой же директории, ок

Like
19.01.2018
23:37:10
Вы до сих пор про микросервисы?

Max
19.01.2018
23:41:38
не не, утилс модули плохо
тобишь это сервисная функция (аля вытащи и отфильтруй мне модель), которая в services.py ? Или что в твоем понимании модуль?

Sergey
19.01.2018
23:42:41
тобишь это сервисная функция (аля вытащи и отфильтруй мне модель), которая в services.py ? Или что в твоем понимании модуль?
я бы делал объект, а не функцию. Который уже умеет что-то с данными машнить. Ну а модуль - это любая структурная единица кода)

http://fit.c2.com/wiki.cgi?WholeValue

Max
19.01.2018
23:44:31
http://fit.c2.com/wiki.cgi?WholeValue
ага, но у Эванса вроде пример с деньгами проще

Sergey
19.01.2018
23:45:11
у эванса надо про контексты читать)

да и там в целом такой же пример - это типа классический

прикол в другом - объект позволяет тебе выразить более четко что это такое в контексте логики приложения. У тебя вполне может быть объект QueryFilter который как-то юзается и все эти if-ы в себе разруливает

а так как зависимостей у этого объекта нет, и он зависит только от своего стэйта - нам удобно его тестить

Max
19.01.2018
23:49:38
Sergey
19.01.2018
23:51:40
ну и да - я не встречал на гитхабе проектов где реально прикольно поразбираться с логикой)

Max
19.01.2018
23:51:55
Я понимаю, что разработчикам быстрее написать все в контроллере, т.к. сроки горят и тд и бизнесу на это пофиг, но в моей голове эта абстракция как-то неочень укладывается, мозг привык всё декомпозировать.

Sergey
19.01.2018
23:52:16
просто прими как данность что большинству в целом пофигу)

Google
Sergey
19.01.2018
23:52:53
но это не значит что тебе должно быть пофигу - если научиться в декомпозицию это не "дороже" чем фигачить контроллеры. Ну может быть чуть-чуть но тогда в ход вступает рефакторинг и тесты

и тогда можно периодически, если данных не хватает (а их часто не хватает) о том как чего будет юзаться/меняться - можно упрощать и закрывать глаза. Главное потом, когда появятся данные, подправить

Max
19.01.2018
23:53:45
да, но если бы не стремились к идеалу, то до сих пор жили бы в пещерах, разве нет

Sergey
19.01.2018
23:54:20
да, но если бы не стремились к идеалу, то до сих пор жили бы в пещерах, разве нет
не думаю что мы идеалами руководствовались) скорее обстоятельствами

Max
19.01.2018
23:55:23
У меня нет опыта работы в конторе, поэтому тут вопрос бывалым - если новичек приходит в проект, как долго он в него въезжает, в проект какой сложности его могут запрячь, как выжить в первую неделю (и че обычно делают, читают доки или сразу лезут коммитить)

Sergey
19.01.2018
23:56:58
я думаю у большинства нет док что бы их читать, так что сразу в бой, скорее всего под контролем и скорее всего что-то несложное.

у кого-то без контроля, у кого-то "горит" и потому что попало

зависит от процессов и команды

p.s. я не люблю доки, люблю видосики

Admin
ERROR: S client not available

Max
19.01.2018
23:59:10
ТЗ то хоть дадут почитать. чтобы понять, что за проект делаешь?

Sergey
19.01.2018
23:59:40
ТЗ то хоть дадут почитать. чтобы понять, что за проект делаешь?
а ты реально будешь читать спецификацию к проекту на 100+ страниц? или тебе лучше показать дэмо?

есть и те и другие, и есть те которые сами не знают че они пилят)

Max
20.01.2018
00:00:08
а ты реально будешь читать спецификацию к проекту на 100+ страниц? или тебе лучше показать дэмо?
я дотошный, я и ТЗ прочитаю (если это входит в рабочий день конечно)

вся суть в нюансах ведь

Sergey
20.01.2018
00:00:46
я дотошный, я и ТЗ прочитаю (если это входит в рабочий день конечно)
я верю, но я лично не вижу смысла новичку читать спеку (ТЗ фактически никто не практикует, хорошо если хоть какая-то документация по проекту есть)

вообще спецификации и ТЗ в условиях постоянно меняющихся требований это.... очень большая трата ресурсов и часто бесполезная

Google
Sergey
20.01.2018
00:01:46
постепенно

Like
20.01.2018
00:01:50
Вам бы по бутылочке пива

Sergey
20.01.2018
00:01:52
аджайл вся херня)

Max
20.01.2018
00:02:27
ты не поверишь - но чаще сразу в тикетах)
забавно, т.е. это менеджера обязанность типа?)

Sergey
20.01.2018
00:03:10
забавно, т.е. это менеджера обязанность типа?)
продукт оунера, аналитика, менеджера.... у бизнеса есть хотелки. Если ты потратишь месяц на то что бы их все записать, то через этот месяц поменяется половина хотелок.

короч это очень жирный топик

https://www.youtube.com/watch?v=UQOmGiv7rUk

вот это можешь попробовать осилить

там и экономические аспекты, и че зачем и почему

Like
20.01.2018
00:04:15
https://www.youtube.com/watch?v=UQOmGiv7rUk
Потом приходишь в свою конторку и понимаешь, что челы на вп сайтики клепают :(

Max
20.01.2018
00:09:07
вот это можешь попробовать осилить
ок, а сколько при таком подходе погроммист обычно тратит времени на кодинг (втыкая в PhpStorm, atom, vs code etc) в свой рабочий день?

не считая там авралов и тд

Like
20.01.2018
00:10:51
Я, например, больше 5и не могу. Иногда перерывы на какие-то статейки или что-то так делал. Но частенько дома еще работал (такая жизнь:с)

Ну, или бывают интересные таски и прям не отрываешься)

Max
20.01.2018
00:14:25
Истинное понимание необходимости в ООП, аджайлах, тикетах и тд у меня пришло после того, как у меня чувак с фриланса просил спарсить пару полей с я.метрики, на след день у него появилась необходимость спарсить и провалидировать еще пару полей и тд, и так обычный скрипт и пару функций вылились в 1000 строк кода и свой недошаблонизатор. В конторах я так понимаю это всё возводится в ^2.

Я, например, больше 5и не могу. Иногда перерывы на какие-то статейки или что-то так делал. Но частенько дома еще работал (такая жизнь:с)
а сроки выставляются с учетом этих 5ч\сутки? Тут вопрос без подвоха, мне правда интересно

Like
20.01.2018
00:15:14
Нет, за мной не следили :)

Ты, главное, в сроки вписывайся, а на остальное плевать. Но бывают и такие, что закидывают тебе съемку экрана каждую минуту...

Max
20.01.2018
00:19:32
Это зависит от программиста
Ок, а если Петя справляется с работой в x2 быстрее Коли, то может ли Петя гонять чаи, писать что-то своё и тд, пока Коля все еще возится с рабочим проектом, как на это смотрит контора обычно?

Like
20.01.2018
00:19:47
Везде по разному

Страница 463 из 785