
Alex
13.01.2017
11:35:02

Aleh
13.01.2017
11:35:16
а зачем ему интерфейс?

Alex
13.01.2017
11:35:24
да хз
шоб был

Google

Alex
13.01.2017
11:37:46
ну и в принципе, как обзывать интерфесы? ошибки, это я для примера привёл

Ilia
13.01.2017
11:42:28
в смысле называй интерфейс понятно, и лучше не сувать туда указатель что это интерфейс.
и не забывай что он все таки что-то общее, и в тоже время что-то частное.
А вообще нету каких то правил для именований:)

Alex
13.01.2017
11:47:25

Ilia
13.01.2017
11:48:36
Глобально для, твоего кода который использует этот интерфейс. Вообще пофиг что это интерфейс, он его воспринимает как объект.

Aleh
13.01.2017
12:24:31
http://www.oreilly.com/programming/free/object-oriented-vs-functional-programming.csp

F01134H
13.01.2017
12:24:54
О, кстати
а есть годная лит-ра по ООП?
на русском
что б не совсем для нубов только

guga
13.01.2017
12:26:20

Google

Aleh
13.01.2017
12:27:17
а есть годная лит-ра по ООП?
Ларман Крэг - Применение UML и шаблонов проектирования
Р.Мартин. Быстрая разработка программного обеспечения
Addison.Wesley. Growing.Object.Oriented.Software.Guided.by.Tests.Oct.2009(есть на русском)
Addison.Wesley. Экстремальное программирование. Разработка через тестирование

F01134H
13.01.2017
12:27:41

guga
13.01.2017
12:27:51

Aleh
13.01.2017
12:28:50
еще не открывал
ща поеду в город, буду читать

guga
13.01.2017
12:29:06
они потом буду слать всякий шлак, а у меня и так уже 1.5к писем не прочитаных в ящике для спама

Aleh
13.01.2017
12:29:19
наверное тебя это угнетает

guga
13.01.2017
12:29:26
ага
кажется я что-то важное пропустил
обсуждали уже набрось uncle bob на котлин?
говорит, слишком о программистах заботится язык, мало свободы и возможности налажать и меньше тестов приходится писать.

Aleh
13.01.2017
12:32:47
не
а когда он был, меня прост тоже не пустило

guga
13.01.2017
12:33:10
это статься отдельная

Aleh
13.01.2017
12:33:21
а

guga
13.01.2017
12:33:34
http://blog.cleancoder.com/uncle-bob/2017/01/11/TheDarkPath.html
ну и срачек в твиттере

Aleh
13.01.2017
12:36:19
кидай ссылки

guga
13.01.2017
12:37:09
https://twitter.com/unclebobmartin/status/819242373377118208

Google

F01134H
13.01.2017
21:48:39
Народы планеты Земля
мне вот интересно, зачем может понадобиться вызов конструктора внутри класса вручную

Sergei
13.01.2017
21:50:04

F01134H
13.01.2017
21:51:06
ну конструктор же по умолчанию вызывается, разве они тогда не инициализируются?

Sergei
13.01.2017
21:53:22
В С++ 11 можно вызывать собственный конструктор в списке собственной же инициализации.
http://stackoverflow.com/questions/308276/call-constructor-from-constructor-in-c

F01134H
13.01.2017
21:54:07
Все, понял
да не, я про php

Sergei
13.01.2017
21:54:36
Подозреваю там такая история.

F01134H
13.01.2017
21:54:37
ок-ца, там нельзя вызывать конструктор. Можно вызывать только конструктор родителя

Sergei
13.01.2017
21:55:09
Логично - надо же как-то инициализировать предка.

F01134H
13.01.2017
21:55:13
ага

Sergei
13.01.2017
21:55:20
В С++ то же самое, в общем.

da horsie
13.01.2017
21:56:43

Sergei
13.01.2017
21:57:04
Аааа, я подозревал! :)

F01134H
13.01.2017
21:57:08
Вот всегда придет какой-нибудь Конь и испортит умную мысль

da horsie
13.01.2017
21:57:20
<?php
class A {
function __construct() {
echo "OMG\n";
}
function a() {
$this->__construct();
}
}
$a = new A();
$a->a();

F01134H
13.01.2017
21:57:44
вот это поворот
а зачем?
не является ли это дурным тоном?

Google

Sergei
13.01.2017
21:59:24
Как оно работает?

F01134H
13.01.2017
22:00:13
просто берет и работает :D

Admin
ERROR: S client not available

da horsie
13.01.2017
22:01:09
__construct() это обычный метод в php

Sergei
13.01.2017
22:01:18
Эээээ

da horsie
13.01.2017
22:01:42
но если он есть, он будет вызван при создании экземпляра
подозреваю, что он даже может что-то вернуть
Эээээ
у нас тут своя атмосфера, да

Sergei
13.01.2017
22:02:26
Повторный вызов по идее приведёт (в общем случае) к memory leak?

da horsie
13.01.2017
22:02:39
почему?

Sergei
13.01.2017
22:03:40
Ну в нашей С++-деревне в конструкторах ресурсы выделяют, в деструкторах освобождают. Соответственно если кто-то вызвал дважды конструктор - велик шанс что ресурс выделеа дважды, освобождён лишь один раз. Засада.
Но это опять же специфика языка без GC.

da horsie
13.01.2017
22:04:39
нене
тут долгая история у языка
в нем сначала вообще классов не было
так что все сложнее и менее логично

Dumitru
13.01.2017
22:05:14

F01134H
13.01.2017
22:05:17
Я думаю, можно в теории что-то такое писать
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);
}
}
извиняюсь за свой французский D:

Google

da horsie
13.01.2017
22:06:10
технически можно, но не надо
<?php
class A {
function __construct() {
echo "OMG\n";
return "WTF\n";
}
function a() {
echo $this->__construct();
}
}
$a = new A();
$a->a();
можно даже так )
и сработает)

Dumitru
13.01.2017
22:06:41
А, я про плюсы)
Хотя там также можно
Но клиент всеравно не сможет два раза вызвать если интерфейс не позволяет

Sergei
13.01.2017
22:16:12
?

Antony
13.01.2017
22:17:53
Я бы повесил огромный баннер, на котором описано все что не надо делвть)

Dmitriy
13.01.2017
22:18:14

Antony
13.01.2017
22:21:22

finkel
13.01.2017
22:23:39

Antony
13.01.2017
22:24:49
Ну тогда да требую сюда 2 баннера.
Что не нужно делать даже под пытками.
И как убедить манагера в том что он не шарит