Deleted
сложность кода растет за счет смешивания понятий которые не надо смешивать
Alyona
Зачем вообще на какие-то там функции, модули и прочее разбивать? Это слижком сложно. Ещё паттерны учить - это вообще фу-фу-фу. Предлагаю всё в одном файле писать! Так гораздо проще - не надо запариваться всякими непонятными мне штуками!
Дмитрий
не вижу смешивания понятий кроме стереотипов мы создаем объект - для этого достаточно просто слова создать объект
Alyona
Я вот написала свой хелловорлд на 100 срочек и считаю именно так. Моё мнение, если что.
Дмитрий
нет зачем-то нужно отделять создание и еще инициализацию
Alyona
вопрос зачем они нужны?
лол. Чуть-чуть опоздала
Дмитрий
я могу понять если нам не нужен объект целиком и потом его дособрать
Дмитрий
но если я хочу получить сразу все - не вижу смысла вызывать дополнительные методы
Deleted
не вижу смешивания понятий кроме стереотипов мы создаем объект - для этого достаточно просто слова создать объект
вообще некоректное суждение стереотип это устоявшийся в культуре социальный опыт и отношение мы сейчас говорим о подходах которые разрабатывались в том числе с применением статистики люди к примеру сравнивали тысячу проектов с использованием упомянутой методолгии и без
Deleted
Если попробуешь следовать правилам - то окажется что смысла в использовании асинхронного конструктора и нет вовсе
Дмитрий
смысл есть потому что остальные подходы по работе с асинхронностью хуже вообщем я все равно так и не понимаю: проблем с использованием переменных в конструкторе и что страшного произойдет, если конструктор сам выполнит все этапы создания по заданным свойствам для меня конструктор - это именно полноценный конструктор, который создает то, что тебе нужно и ограничивать его в возможностях я смысла пока не вижу, а разграничивать почему нет пенести ту же подготовку в класс не вопрос constructor(args){ prepare_create_car(argc); } prepare_create_car() {} для меня это лишь разница подходов... да можно было сделать все тоже через argc = prepare_create_car(); car = new Car(argc); просто для меня это как раз усложнее для меня проще это вынести во внутрь класса, а во вне лишь интерфейс нужных параметров
Дмитрий
и по сути если речь идет про синхронности там вообще даже вопросов нет
Deleted
>просто для меня это как раз усложнее ясно ничего говорю, займешься большим проектом, передумаешь
Дмитрий
и что в больших проектах пустые параметры конструкторов? или ах да классы вообще не используют?
Deleted
>и что в больших проектах пустые параметры конструкторов? не понял когда мы про пустой конструктор говорили?
Дмитрий
дык а зачем там тогда вообще нужны параметры? пусть тогда все в инит будет? пусть тогда уж конструктор совсем отдыхает) зачем там тогда вообще нужны параметры?
Дмитрий
если он по сути ничего не создает
Deleted
>дык а зачем там тогда вообще нужны параметры? читай тематическую литературу я уже упомянул куда копать
Дмитрий
тут для меня два вариант или пустой инит - или пустой конструктор
Konstantin
срач со вчерашнего дня)) вы не устали?
Deleted
>или ах да классы вообще не используют? используют с ограничениями которые я описал
Deleted
срач со вчерашнего дня)) вы не устали?
а я сегодня подхватил) вчера не участвовал)
Deleted
с утра нечего делать
Deleted
😄
Дмитрий
в целом весь вопрос для меня лишь в разных задачах и подходах я могу понять например что конструктор используется для создания чертежа, а реальное выполнение будет отстрочено но это одна ситуация, но не вижу причин почему нельзя создать готовый объект сразу
Дмитрий
тогда уж можно раздели вообще на два класса если вам так это нужно
Дмитрий
class car_scheme class car
Дмитрий
но все-таки я хочу от создания машины получить машину, а не чертеж
Дмитрий
и пожалуйста чертеж может быть синхронным
Дмитрий
разве что вы его опять же не хотите откуда-то загрузить...
Дмитрий
ну и тут опять вопрос внутренней и внешней загрузки
Дмитрий
те самостоятельность против встроенности
Андрей
Должен возвращаться промис?
Дмитрий
ну выше уже было много вариантов просто async/await я считаю более удобным если ты про разные способы создания без await - другие подходы
Андрей
const a = new A()
Андрей
Какого типа переменная а?
Дмитрий
хм торможу - не уверен точно, но промис выглядит вроде логичным в данном случае раз мы начали создание объекта, но не дождались пока он выполнится - значит имеем пока только обещание
Дмитрий
что именно жесть - поясни
Андрей
То, что непонятно что происходит в коде.
Konstantin
https://pp.userapi.com/c7004/v7004004/4902d/6XMW754BBgw.jpg
Андрей
что именно жесть - поясни
Просто смотри. Вводить сахар ценой запутывания программиста - это очень плохая идея.
Андрей
Код должен быть простым как дверь и не вызывать вопросов "что здесь происходит?" на уровне языка.
Дмитрий
а что сложного выше? ты сделал заказ машины - решил не ждать и получил обещание, что она будет сделана подождал получил готовую машину
ℝei
Опять ооп свое тут обсуждают 🙈
Андрей
Это важно. Относительно этого ты действуешь дальше.
Дмитрий
Какого типа переменная а?
ну изначально подразумевается обещание, которое возвращает тебе объект же
Андрей
ну изначально подразумевается обещание, которое возвращает тебе объект же
Ты предлагаешь изменить семантику new, чтобы было проще ошибаться, ради сомнительного сахара, верно?
Дмитрий
я предлагаю добавить новую семантику async class - да некоторые говорят что логичнее использовать async в конструкторе, хотя я лично все же как раз за наглядность, чтобы сразу было видно, что это асинхронный класс, который возвращает обещание объекта
Андрей
Ок. Я понял. Ты хочешь усложнить язык ради сомнительных практик. Печально.
Андрей
Надеюсь, что такого не будет.
Андрей
Иначе придётся добавлять новое свойство в линтер.
Дмитрий
усложнить? как по мне так упростить потому что обещания уже пришли в язык, асинхронные функции тоже почему не сделать тогда асинхронное создание объектов? это как раз таки более удобно для работы с ними
Андрей
усложнить? как по мне так упростить потому что обещания уже пришли в язык, асинхронные функции тоже почему не сделать тогда асинхронное создание объектов? это как раз таки более удобно для работы с ними
Камон. Не надо сравнивать new и асинхронный функции. В случае функций семантика никак не меняется и есть реальная необходимость: уменьшение бойлерплейта. А в случае new ты предлагаешь менять семантику, чтобы было проще писать цикломатично сложный код.
Дмитрий
еще раз я ничего не меняю в старой семантике я лишь добавляю новую
Андрей
еще раз я ничего не меняю в старой семантике я лишь добавляю новую
У тебя new начинает возвращать промис. Ты чего?
Андрей
Точно не меняешь?
Дмитрий
да но возвращает то он для async class что вроде как бы логично?
Дмитрий
для обычных классов все по-старому
Андрей
Что в переменной а?
Андрей
Верно, что будет число?
Андрей
Ммм
Андрей
Двусловные операторы. Ня!
Андрей
Но мне интересно что Дмитрий скажет.
Дмитрий
Верно, что будет число?
хм не совсем понимаю вопроса... ну я даже на всякий случай проверил - ну да вернулось число или о чем речь?
Андрей
Т.е. начинается полнейший хаос.
Дмитрий
не понима вопроса, если ты создаешь объект от асинхронного класса - он должен возвращать объект это логично если ты используешь его в каких-то других случаях так и результат будет иной это логично
Андрей
Как думаешь, почему with никто не использует?
Андрей
Почему его через линтеры выпиливают?
Дмитрий
так и в чем путаница то? что тебя путает в том чтобы использовать от async class Car car = await new Car(); в какой момент времени ты путаешься?