Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Вот именно, что от конкретного человека. Зачем программисту, который не страдает шизофренией, усиленно прятать от себя самого доступ к какой-то части собственного кода, отладкой которого он же и занимается? Может лучше руки себе завязать? :)
Ну, я уже сказал - попробуй поработать с файлом структуры, который привел выше Петер. "Выловить" оттуда необходимые вам данные, а потом вписать их обратно в правильное место.
И сравни с получением необходимых данных от "обрезанного" интерфейса, который дает малюсенькую часть этой же структуры. С интерфейсом - просто нет возможности получить что-то другое, или записать что-то "не туда".
Нет, понятно, что если ты титан запоминания с атрофированной способностью к забыванию - то тебе повезло, и ООП тебе не нужно. Но не всем так повезло.
СанСаныч вон, предлагает заменить ООП документированием - в принципе, тоже вариант, более того, он гораздо ближе к структурам, предложенным Петером. Просто у Петера - все документирование "в уме", а у СанСаныча - на бумаге (или на электронном носителе).
А вот интересно в чем проявляется этот "ужас".
Кстати, Renat Fatkhullin, и правда, было бы интересно поглядеть на примеры...
Нет, понятно, что если ты титан запоминания с атрофированной способностью к забыванию - то тебе повезло, и ООП тебе не нужно. Но не всем так повезло.
СанСаныч вон, предлагает заменить ООП документированием - в принципе, тоже вариант, более того, он гораздо ближе к структурам, предложенным Петером. Просто у Петера - все документирование "в уме", а у СанСаныча - на бумаге (или на электронном носителе).
Смысл переменной нужно знать по любому, но помнить не обязательно - можно написать комментарий, если непонятно по контексту. Вроде очевидно.
При ООП нужно помнить и документировать гораздо больше, а именно что там когда и в какой момент создается и уничтожается, через какие интерфейсы перетекает в какой именно момент и тому подобная совершенно бесполезная для конечного результата мышиная возня - только от одного этого можно рехнуться любому психически здоровому человеку и сломать себе мозг.
Кстати, всем противникам ООП - хорошо бы вспомнить времена, когда программы писались на ассемблере.
И конкретно - работу с файлами средствами BIOS и DOS.
На мой взгляд, отличие между процедурным и ООП-подходом - как раз примерно такое же, как в работе с диском средствами BIOS и DOS.
Как БИОС, так и ДОС - имеют все необходимые функции для работы с диском.
Однако, создать файл функциями БИОС, и записать туда "Hello,world !" - это весьма нехилая проблема даже для дисков с системой FAT. Я в свое время - делал такое на спор, и мне было весьма непросто. В ДОСе это делается запросто одной функцией.
Представляю, насколько непросто с помощью БИОСа создать такой файл для системы NTFS...
Читайте внимательней, речь шла о классе, а не о конструкторе класса.
К тому же вы опять предлагаете заняться мартышкиным трудом - городить огород на огороде, если можно иметь доступ к параметрам НИЧЕГО не делая в случае внешних переменных либо передавая их напрямую без всякой ненужной головной боли с конструкторами-деструкторами и всякими сопутствующими утечками памяти.
Ага, мне войти надо, а вы мне дверь тут показываете. Вы наверно не знаете, что такое конструктор класса.
Просто общие параметры - они и так видимы внутри класса, но пользоваться ими не есть хорошо, ООП хорош за возможность экранироваться от общего пространства.
А напрямую как? Если не через дверь, то стену выносить? Через конструктор как раз и выглядит как передача напрямую. Параметры можно передавать сразу при создании объекта, даже без new. Получается, что вам лень описать параметры, которые класс должен принять? А функции писать и переменные объявлять вам не лень?
Стопудо вы не поняли ничего из написанного))
Dmitry Fedoseev:
А функции писать и переменные объявлять вам не лень?
Функции писать и переменные объявлять надо везде и при ООП тоже. Только при ООП с этим бесполезной возни будет на порядок больше и то, если заранее все предвидеть пророчески, какая там будет структура данных в конце проекта, чтобы не переписывать по сто раз. Вроде очевидно.
Функции писать и переменные объявлять надо везде и при ООП тоже. Только при ООП с этим бесполезной возни будет на порядок больше и то, если заранее все предвидеть пророчески, какая там будет структура данных в конце проекта, чтобы не переписывать по сто раз. Вроде очевидно.
Побольше возни, но есть случаи и много, когда овчинка стоит выделки. В общем не смертельно.
Побольше возни, но есть случаи и много, когда овчинка стоит выделки. В общем не смертельно.
Как долго вы корпели над этой своей библиотекой?
2 года беспрерывного труда.
Ядро графического интерфейса (кстати есть еще прото-ядро содержащие прототипы элементов. Занимает 2 мегабайта. Состоит из таких таблиц, как та, что я привел), содержит тысячи переменных. Как Вы думаете, если бы не использовал ядро как центр и разбросал переменные по классам и структурам и налаживал бы между ними связь через различные разграничения доступа, я бы справился со своей задачей? - В одиночку никогда. Количество сущностей программы у меня увеличилось бы в несколько раз. Связи внутри кода между функциями и классами стали бы так сложны, что я бы просто был бы не в силах один продолжать работу. Эффективность работы всего механизма в целом упала бы.
Я бы достиг предела своих возможностей гораздо раньше и остановился.
Много раз задавал себе вопрос, - "что бы я достиг, если бы использовал ООП?" и каждый раз, опираясь на ежедневную практику, я понимал что не смог бы зайти так далеко в одиночку.
К тому же, мое мышление и так структурировано, и потому необходимости в ООП у меня в этом плане нет.
Холивара ради - R написан абсолютно отвратительно в режиме "все в одну помойку без разграничения доступа". Олдскульный подход двадцатилетней давности без областей видимости, защиты и многосессионности. Пишу как будто я один. Да проект так и рождался под одно лицо непрофессиональными разработчиками. Его переписывать с нуля надо. Хотя бы раз.
Была мысль сделать нормальный интрерфейс в R из MQL5, но после того, как глубже покопался в нем, сразу отказал в интеграции. Система категорически не способна защищать данные и сессии.
Пока программист не поработает в нормальных девелоперских коллективах с жесткими требованиями(битиЁм по рукам в течение пары лет минимум), он не станет разработчиком в нормальном смысле. Мы хватаемся за голову в 90% случаев, когда смотрим на тестовые задания при рассмотрении кандидатов. Тотальный ужас по всей индустрии разработки.
Поэтому еще раз повторю - оппоненты ООП демонстрируют тут какой-то балаган.
Извините еще раз.
Ренат, пожалуйста не нервничайте. Я сам не сторонник R. Вы отличный руководитель и программист, не воспринимайте близко к сердцу крики с форума.
Желаю Вам и Рашиду, а также вашей команде хорошего здоровья и творческих успехов!