Ошибки, баги, вопросы - страница 3616

 
fxsaber #:

Знания ООП требуются для прочтения? Не возникает вопрос, почему IsStopped содержит входной параметр?

if(IsStopped(__FUNCTION__))

Вот это мне понятно, то что написали вы, не понятно. Вопроса не возникает.

Возможно я бы сделал по другому, но так как сделано тоже норм. 

Я не знаю, что такое  this.

Но самое главное, я не понимаю нафик оно нужно там где можно обойтись без него.

 
fxsaber #:

Знания ООП требуются для прочтения? Не возникает вопрос, почему IsStopped содержит входной параметр?


А ниже же полное понимание, что вызывается, правда?

на самом деле возникает вопрос, с какого бодуна IsStopped требует квалификации скопа, он что может быть виртуальным ?

то есть производный класс может решить что он нифига не stopped, а очень даже ready ??

 
Aleksandr Slavskii #:

нафик оно нужно там где можно обойтись без него.

Чтобы была однозначность при чтении кода и не возникали потенциальные ошибки.

Здесь не требуется знаний ООП. Аналогично, с const.


Когда читаешь такое,

void Func( const string &Array[] )

сразу врубаешься, что массив внутри функции не меняется. И ищешь в других местах причины, почему с массивом что-то случилось.


Ну и слово override, но здесь уже требуется знание ООП и опыт обжиганий в виде долгого поиска слома выполнения кода. А если бы использовался (там, где работает и без него) override, то не было бы долгого поиска, а сразу бы стало понятна причина, что произошло.

 
Maxim Kuznetsov #:

на самом деле возникает вопрос, с какого бодуна IsStopped требует квалификации скопа, он что может быть виртуальным ?

this нужен не для виртуальности, а для однозначности и понимания, что и откуда вызывается.

 
fxsaber #:

this нужен не для виртуальности, а для однозначности и понимания, что и откуда вызывается.

если вы употребляете this, то делаете что-то не то и не так
 
Aleksandr Slavskii #:

CTrade, один из не многих классов, который можно использовать без знаний ООП. А всё потому, что написан нормально, а не через  this.

Что значит «без знаний ООП». Вы имеете ввиду, абсолютное непонимание? Смею вас разочаровать. При абсолютном непонимании ООП можно написать разве-что trade.buy(0.01) и более ничего… Даже размер контракта увеличивать опасно…

 
Maxim Kuznetsov #:
если вы употребляете this, то делаете что-то не то и не так

Для меня загадка, почему бытует такое мнение.

 
Alexey Viktorov #:

Что значит «без знаний ООП». Вы имеете ввиду, абсолютное непонимание? Смею вас разочаровать. При абсолютном непонимании ООП можно написать разве-что trade.buy(0.01) и более ничего… Даже размер контракта увеличивать опасно…

Ну, хз. пока класс на уровне структуры, я его понимаю, как только появляются звёздочки * и прочие атрибуты ООП, понимание на этом кончается.

 
Aleksandr Slavskii #:

Ну, хз. пока класс на уровне структуры, я его понимаю, как только появляются звёздочки * и прочие атрибуты ООП, понимание на этом кончается.

Сожалею. Я тоже думал сдохну раньше чем разберусь в ООП, но не судьба даже в 71. Так-что не ленитесь, читайте. Здесь много интересных тем об ООП.

 

Скажите лучше, это у меня глюки или раньше компилятор ругался на такое непотребство?

for(int i = 0; i < total; i++)
   for(int i = 0; i < total; i++)

Вот за эту конструкцию, я бы яйца тому кто это внедрил, перекрутил бы. Чтоб прочувствовал, всю извращённость своей задумки.