guga
ага
guga
кажется я что-то важное пропустил
guga
guga
обсуждали уже набрось uncle bob на котлин?
guga
говорит, слишком о программистах заботится язык, мало свободы и возможности налажать и меньше тестов приходится писать.
Ale
не
Ale
а когда он был, меня прост тоже не пустило
guga
это статься отдельная
Ale
а
guga
http://blog.cleancoder.com/uncle-bob/2017/01/11/TheDarkPath.html
guga
ну и срачек в твиттере
Ale
кидай ссылки
guga
https://twitter.com/unclebobmartin/status/819242373377118208
invariance
Народы планеты Земля
invariance
мне вот интересно, зачем может понадобиться вызов конструктора внутри класса вручную
Sergei
мне вот интересно, зачем может понадобиться вызов конструктора внутри класса вручную
1) создавать новый объект такого же класса 2) инициализировать данные
invariance
ну конструктор же по умолчанию вызывается, разве они тогда не инициализируются?
Sergei
В С++ 11 можно вызывать собственный конструктор в списке собственной же инициализации.
Sergei
http://stackoverflow.com/questions/308276/call-constructor-from-constructor-in-c
invariance
Все, понял
invariance
да не, я про php
Sergei
Подозреваю там такая история.
invariance
ок-ца, там нельзя вызывать конструктор. Можно вызывать только конструктор родителя
Sergei
Логично - надо же как-то инициализировать предка.
invariance
ага
Sergei
В С++ то же самое, в общем.
Sergei
Аааа, я подозревал! :)
invariance
Вот всегда придет какой-нибудь Конь и испортит умную мысль
🐴
<?php class A { function __construct() { echo "OMG\n"; } function a() { $this->__construct(); } } $a = new A(); $a->a();
invariance
вот это поворот
invariance
а зачем?
invariance
не является ли это дурным тоном?
Sergei
Sergei
Как оно работает?
invariance
просто берет и работает :D
🐴
__construct() это обычный метод в php
Sergei
Эээээ
🐴
но если он есть, он будет вызван при создании экземпляра
🐴
подозреваю, что он даже может что-то вернуть
🐴
Эээээ
у нас тут своя атмосфера, да
Sergei
Повторный вызов по идее приведёт (в общем случае) к memory leak?
🐴
почему?
Sergei
Ну в нашей С++-деревне в конструкторах ресурсы выделяют, в деструкторах освобождают. Соответственно если кто-то вызвал дважды конструктор - велик шанс что ресурс выделеа дважды, освобождён лишь один раз. Засада.
Sergei
Но это опять же специфика языка без GC.
🐴
нене
🐴
тут долгая история у языка
🐴
в нем сначала вообще классов не было
🐴
так что все сложнее и менее логично
invariance
Я думаю, можно в теории что-то такое писать class Example { private $name, $var1, $var2; function __construct($name, $var1, $var2) { $this->name = $name; $this->var1 = $var1; $this->var2 = $var2; } function reset() { $this->__construct(null, null, null); } }
invariance
извиняюсь за свой французский D:
🐴
технически можно, но не надо
🐴
<?php class A { function __construct() { echo "OMG\n"; return "WTF\n"; } function a() { echo $this->__construct(); } } $a = new A(); $a->a();
🐴
можно даже так )
🐴
и сработает)
Dumitru
А, я про плюсы)
Dumitru
Хотя там также можно
Dumitru
Но клиент всеравно не сможет два раза вызвать если интерфейс не позволяет
Sergei
технически можно, но не надо
Я бы такой плакат в офисе повесил - полезно помнить об этом.
Sergei
👍
Antony
Я бы повесил огромный баннер, на котором описано все что не надо делвть)
Antony
мы ждем. я на работе повешу
Требую исходник в ЛС, закажу тоже пожалуй
Antony
Ну тогда да требую сюда 2 баннера. Что не нужно делать даже под пытками. И как убедить манагера в том что он не шарит
Ilya
Поддерживаю, нужен баннер
Anonymous
хей хо лалала
Ale
Это откуда столько набежало?)
Anonymous
сила рекламы))
🐴
я поспамил чутка
🐴
в дружественном чатике
invariance
спам спасет мир
Ale
Поспамь в обратную сторону)
Co(n)stantine👨‍🔬
забавно но я этот видос так и не смотрел
о дак это ты, посмотрю позже чо😏
SarcasmIO
забавно но я этот видос так и не смотрел
блин, реально круто, небольшое пожелание тебе на будующее) Не стесняйся, не смущайся ты на голову выше всех докладчиков которых я смотрел, даже на том же Highload++ Видно что ты на 200% понимаешь о чем говоришь и доносишь это простыми словами и изящными примерами, я бы с радостью посмотрел еще, серьезно
Co(n)stantine👨‍🔬
Кирилл Мокевнин говорил, что никакого Закона Деметры на самом деле нет
invariance
як это нету