Daniel
имеет, но может иметь разные проявления
коллега, или вы свое определение ООП тут приведете, или я вас отпралю в RO на сутки
Cat
имеет, но может иметь разные проявления
это не так в случае с наследованием, к сожалению
Dorian
Просто хочу понимать, как результат спора поможет вам в будущем?
Daniel
спасибо!
aadz
Нет, ну вот, блин, интересно! Ну все, блин, обсуждают как что-то не так, как везде. Просто забили на отправные идеи авторов языка, или даже не дали себе труда вникнуть, и обсуждают просто взахлеб! А нафига? :)
Daniel
не дали труда
Daniel
в случае с ООП - не дали себе труда вникнуть ни в ООП, ни в go
Стас
не хотел заваривать этот холивар снова)
aadz
Ну и правильно. Не для чего!
Daniel
на самом деле - вопрос не такой простой и не такой бесполезный
Daniel
у большинства тех, кто работает в индустрии каша.
Стас
тогда можно провести расследование из шагов: суть ооп, суть го, пересечение понятия ооп и средств го
Стас
и запинить как библию в конфу
Daniel
у некоторого количества - в голове неоправданный фашизм
Daniel
у некоторых персонажей что-то вроде понимания, но ориентируются они в них интуитивно
Daniel
это самый лучший из наблюдаемых вариантов.
Стас
все же вернусь к теме документирования: а как например графически отображают очереди с обработкой событий?
Daniel
он очень похож на кашу, но ничего лучше у нас нет
aadz
/me сделал флудилку freenode.net#go-go. Welcome! :)
Daniel
и, в принципе, разговоры о парадигмах и подходах могут вести от каши к "чему-то вроде понимания"
Daniel
но для того, чтобы вели - надо их вести разумно, а не эмоционально
aadz
и, в принципе, разговоры о парадигмах и подходах могут вести от каши к "чему-то вроде понимания"
К чему-то вроде понимания может вести системное обучение или исследование (что почти одно и то же). А бессистемные разговоры - не могут
Daniel
"в go нет ООП" - начинаем с определений. (тут выяснится, что у go есть определение, а у ООП нет, и это будет первый шаг)
aadz
все же вернусь к теме документирования: а как например графически отображают очереди с обработкой событий?
Если в блокноте рисовать, то можно графически изобразить пивной ларек из 70-х, длинную очередь небритых мужиков, а внутри сидит тетя Клава, события обрабатывает...
Стас
а может это возможно отобразить на диаграмах протоколов?
Стас
как событие общается с очередью, но там все равно не хватит места - надо где-то дописывать информацию о сообщениях например
aadz
События и их обработка - это вобще целая отдельная диаграмма
Cat
да
бл* нет, нельзя, я перепутал
Cat
google 4 sequence diagram
Стас
оно же и имелось в виду
Cat
ок, но судя по гуглу они выглядят по-другому
Стас
в любом случае таких вопросов наплодить можно много. поэтому пока как-то документирование кода в моей голове выглядит весьма несвязно, вы когда дзен постигали не натыкались на ресурс который бы описывал какие диаграммы схемы правила документирования (в меньшей степени) применяются при программировании?
Daniel
ну единственный внятный способ документировать flow - это UML
Daniel
при этом важно понимать, что UML - это очень разнообразное явление
Daniel
например, блок-схемы - подмножество UML
Daniel
и диаграммы протоколов - тоже
Стас
тогда нужно постигать uml, пойду погуглю книжки
Стас
толку с обрыва сразу в код идти, когда не понятно еще толком что планируется писать
Daniel
я в свое время пытался изучать гайды по uml, но устал, и теперь рисую все надмножеством блок-схем, добавляя туда самовыдуманные элементы, которые мне кажутся понятными
Dorian
Собственно все так делают
Dorian
Дальше было бы, еслиб вы пошли постигать UML... Ой, вы же пошли постигать UML :\
Dorian
Вещь полезная, но скорее факультативная
Daniel
надо сказать, что UML в процессе создания ТЗ используется очень редко
Daniel
в основном потому, что обычно не понятно, что именно мы строим, пока мы не построим терть минимум
.
Я как то никогда не понимал зачем использовать UML диаграммы
.
По крайней мере для себя смысла не видел
Стас
ну в моем понимании - надо сначала понять, а потом писать
.
Как то в процессе написания кода думается лучше
Стас
хотя бы большими мазками понять
.
ну в моем понимании - надо сначала понять, а потом писать
ну я понимал думая, диаграмы мне не сильно помогали
.
Они, скорее, время отнимали
Daniel
UML нужнен бизнес-аналитику, чтобы донести результаты своей работы до системного аналитика, системному аналитику чтобы донести до архитектора и архитектору, чтобы донести до программеров
Daniel
программер может UML не уметь даже читать, если у него есть тимлид, который умеет
Dorian
Удобно UMLем документировать существующий бизнепроцесс, когда например доки нет или устарела
qurabay
Есть тз ,создать доски объявление есть писать на гоу сколько время я трачу ? Выбрать гоу или пхп ?
Dorian
А вообще да, особо не пригождается
Заур
Маа шш
Они прикалываются над тобой, не слушай их, пиши на Си
Mike
подскажите, сюда можно постить вакансии по go?
Co(n)stantine👨‍🔬
Daniel
спасибо. личные рекомендации - это хорошо. надо почитать страниц 10 элекстронной версии, а потом укупить, если зайдет...
Vadim
рекомендую draw.io
Подписываюсь.
Anonymous
Подписываюсь.
я как его нашел, прям мания появилась, все схематизировать)
Vadim
я как его нашел, прям мания появилась, все схематизировать)
Помогает, когда разработают большой проект
Заур
Попробуйте plantuml
Заур
Его можно прямо в визуал студио в виде плагина
Заур
Пишешь небольшой код, он тебе схемы
ketamine ranch
стоит ли хранить в context value юзера полученного с бд в миддлвейр?
Roman
стоит ли хранить в context value юзера полученного с бд в миддлвейр?
избегайте context value по возможности, передавайте что-либо через ctx value только в случае если вам приходится передавать сиё через сторонние библиотеки, например: ваш network -> 3-rd party GraphQL library -> ваш resolver function (в этом случае без context value не обойтись, ибо соторняя библиотека посредник, которая вызывает ваши функции, не знает ничего о тех данных, которые вы хотите через неё передать)
Roman
Guys, need your opinion on that: Should non-const types be automatically (implicitly) converted to const types? This is without implicit non-const to const conversion: var mut2immut * const Object = const(&Object{}) var immut2mut const * Object = &const(Object{}) var immut2immut const * const Object = const(&const(Object{})) func NewConstSlice() const [] * const Object { return [] * const Object { &const(Object{}), &const(Object{}), } } This is with implicit non-const to const conversion: var mut2immut * const Object = &Object{} var immut2mut const * Object = &Object{} var immut2immut const * const Object = &Object{} func NewConstSlice() const [] * const Object { return [] * const Object { &Object{}, &Object{}, } } Do you think that implicit non-const to const conversion is safe? (bearbeitet)