208 / 101 / 20
Регистрация: 30.06.2020
Сообщений: 848
|
|
1 | |
Полный ооп18.09.2022, 01:57. Показов 4965. Ответов 60
Приветствуется ли в плюсах полностью ооп проект? По аналогии с джавой, как сказал один джавист - функций нельзя сделать вообще, можно сделать похожее только через класс с одним методом.
Так вот собственно и вопрос - ооп круто, но стоит ли полностью на ооп делать проект? В данный момент, в рамках одного моего проекта - так сделать можно, но будут классы без данных, чисто методы и всё, по смыслу разбитые на классы
0
|
18.09.2022, 01:57 | |
Ответы с готовыми решениями:
60
ООП. Переделать фрагмент программы под ООП Где лучше учить ООП PHP ? И зачем нужен ООП Изучаю Python, сейчас учу основы ООП, где можно найти задачи по ООП ООП ради ООП |
4866 / 2664 / 914
Регистрация: 29.11.2010
Сообщений: 5,746
|
|
19.09.2022, 13:16 | 21 |
По-отдельности -- много источников данных. Даже на википедии есть история программистских парадигм.
Оттуда можно попереходить по ссылочкам на отдельные парадигмы и посмотреть, откуда они взялись и как развивались. Но на скомпилированный труд я ещё не натыкался. Если увидишь -- скинь, я тоже почитаю.
0
|
Just Do It!
|
||||||
19.09.2022, 20:21 | 22 | |||||
этот вопрос можно переформулировать так:
Стоит ли уделять внимание проектированию при работе на проектом? студенты, которые пишут хеллоуворлды считают, что не стоит: самую крутую вещь которую они познают это:
а в этом месте всё проектирование у них просто сдыхает и далее, будучи крестонеосиляторами, эти школьники становятся самыми свирепыми ооп-хейтарами. писать любой проект в ооп стиле очень просто, и чем сложнее проект, тем проще писать.
1
|
208 / 101 / 20
Регистрация: 30.06.2020
Сообщений: 848
|
|
19.09.2022, 21:00 [ТС] | 23 |
Вот тут полностью согласен!! Крайний проект, который я делал - без ооп мне просто не поддался. От слова совсем. Там такая путаница началась.. Привнес ооп - сразу стало проще и переписать готовое, и использовать, и добавлять особенно стало гораздо проще
Добавлено через 3 минуты Вопросец - а какой смысл писать то, что по сути не нужно никому - даже самому студенту это нужно только один раз - когда учишь синтаксис cout`a. Неужто в учебных заведениях нет мысли, что стоит сразу, даже во время изучения синтаксиса - писать то, что будет нужно хотя бы одному человеку хотя бы раз в месяц, или один раз, но на долгую рутинную работу? Добавлено через 5 минут Определенно да. Из лайтового - хотя бы просто блок-схему от начала до конца. Лишает большей части неожиданных задач Добавлено через 20 минут Благодарю, завтра посмотрю на это
1
|
Just Do It!
|
|
19.09.2022, 21:07 | 24 |
ок, давай посмотрим на что у тя уходит время:
допустим есть такие этапы: 1. определить каки модули нужны, как они будут взаимодействовать и какой набор классов будет у них внутри. 2. сам процесс писянья кода. 3. отладка. время на вскидку: 1. 20% 2. 10% 3. 70% продолжать или уже видно где собака порылась? первый этап это ваще можно делать не за компом, или за компом при просмотре котиков в ютубе.
0
|
208 / 101 / 20
Регистрация: 30.06.2020
Сообщений: 848
|
|
19.09.2022, 21:22 [ТС] | 25 |
Намек на то, что чем меньше времени уделено планированию, архитектуре, подбору инструментов и так далее - тем больше времени будет в отладке проведено?
1
|
Just Do It!
|
|
19.09.2022, 21:54 | 26 |
мда,
поэтому я и не стал расписывать, потому что тут тема для докторской диссертации) в данный момент я бы просто хотел заострить внимание на то, что ваш пот из первого этапа должен солёными каплями, виден в написанном коде ... сколько бы вы там не писали, объёмом затраченного на это время можно пренебречь. и да, там этапов на самом деле больше... Добавлено через 5 минут вот: Пишите вы код один раз, а прочитать его вам придётся 100 раз.
1
|
208 / 101 / 20
Регистрация: 30.06.2020
Сообщений: 848
|
|
19.09.2022, 22:25 [ТС] | 27 |
Да, это понятно. Я не совсем понял как это относится к хелловорлдистам, бесполезный код имелось в виду, что все эти калькуляторы, хеллопорлды, чаты и так далее - это никому не нужно уже. Почему люди принимают решение учиться делать то - что уже давно сделано на уровне в сотни раз выше их. Не лучше ли сразу на этапе изучения синтаксиса делать хоть сколько-то полезные программы?
0
|
Just Do It!
|
|
19.09.2022, 22:31 | 28 |
чем больше пота будет пролито в учении, тем меньше будет пролито крови в бою.
Laborant666, Никогда не пишите хеллоуворлды! а пишите демки от очень серьёзных программ!
1
|
208 / 101 / 20
Регистрация: 30.06.2020
Сообщений: 848
|
|
19.09.2022, 22:55 [ТС] | 29 |
Писал их один раз, когда вообще учил синтаксис. И то после сразу понял, что можно чудануть полезные себе приколюхи. Через месяц, примерно, начал учить синтаксис исходя из задачи, а не просто по курсам как оно идёт. Причин две - и себе полезное что-то и без многократного использования не запоминается этот синтаксис
0
|
3718 / 2647 / 761
Регистрация: 29.06.2020
Сообщений: 9,800
|
|
19.09.2022, 23:01 | 30 |
Потому что эти задачи обучают конкретному приему, алгоритму, концепции и проверены многолетним опытом.
Конечно опыт уже не тот и задания нужно обновлять. Но на это нужны деньги и время. И не каждый учебный корпус может себе это позволить. А государственным ... ну они лучше на "дороги" и "борьбу с курильщиками" деньги
0
|
208 / 101 / 20
Регистрация: 30.06.2020
Сообщений: 848
|
|
19.09.2022, 23:31 [ТС] | 31 |
Да. Но и полезные для себя или окружающих проекты - тоже обучают приему, алгоритму, концепции. Разве нет? Ведь гуглить будет что хелловорлдист, что практик на полезном коде - ибо надо ж понять как сделать. А в гугле тоже есть приёмы, алгоритмы и концепции
0
|
460 / 327 / 64
Регистрация: 09.03.2016
Сообщений: 3,226
|
|||||||||||
20.09.2022, 00:22 | 32 | ||||||||||
Как можно отладить программу?
Написал свой хеловорд. Всю жизнь будешь отлаживать... Добавлено через 8 минут С использованием opencv автоматическая переменная, получает вертикальный размер видео, проходит строк пятьдесят, и теряет значение. получаеться 250. Изобр. узкое. Причём это происходит непериодически, когда вносишь какие то изменения в программу. Переменные на studio подсвечиваються, ни перекрытия нет, и ни где не используеться. Вышел из положения, сделав её глобальной. Ни какому понятию сие не поддаёться. //--- Если сам не напакостишь в память, то это сделают ребята написавшие фрамеворк. Добавлено через 13 минут Глючок... Первый кадр не читает. вылетает по ошибке...
Камера... Добавлено через 4 минуты Ещё глюк... При чтении видео, кадр до конца не заполняеться. Чёрная полосочка с права...
Ещё описал один глюк, куда то он провалился, не понял.
0
|
208 / 101 / 20
Регистрация: 30.06.2020
Сообщений: 848
|
|
20.09.2022, 00:35 [ТС] | 33 |
Наталья8, по-моему вы не туда написали большую часть сообщений, не в ту тему..
0
|
460 / 327 / 64
Регистрация: 09.03.2016
Сообщений: 3,226
|
|
20.09.2022, 00:53 | 34 |
Не по теме: Ну прости засранца... Добавлено через 3 минуты Не по теме: Не туда попал.
0
|
3718 / 2647 / 761
Регистрация: 29.06.2020
Сообщений: 9,800
|
|
20.09.2022, 01:09 | 35 |
Я говорю о планомерном освоении базовых вещей с которыми будете работать и работать.
С теми задачами они обособлены и четкие. Для начала: Ну вот на вскидку, придумайте реальный проект где будут деревья поиска, таблицы символов, графы ? И что бы точно было нужно испробовать все базовые методы их обработки и вариаций реализации ? Добавлено через 57 секунд Laborant666, хотя мы отходим от темы. Пусть это будет риторическим вопросом ) Добавлено через 5 минут На счет ООП как механизма, это не единственная концепция организации кода, вот недавно ознакомился с Entity-Component-System(ECS), довольно увлекательно.
1
|
Just Do It!
|
|
20.09.2022, 10:50 | 36 |
такое возможно, если проект амбициозный:
1. но это не отладка, а скорее рефакторинг. 2. зачем нужен рефакторинг: чтобы менее болезненно вносить новые фичи. 3. как сделать рефакторинг менее болезненным и конечным: чётко формулировать требования и цели как можно раньше... 4. просто отладка, т.е. чтобы код просто работал так как от него требуется: такая отладка всегда будет занимать конечное время. дык, под капотом там ООП. ECS я бы определил в группу Больших Проектных Паттернов. ECS это хороший пример, во что может вырасти ооп, хотя там полно и сишкооптимизаций, ведь речь про высоконагруженные проги, т.е. про те, что игоры. сишкооптимизации - не то чтобы кресты их не могут, просто в тех подвалах с остервенением любят копаться сишкококодеры)) Не по теме: Юнька, Анрыал, Годот, Урхо, и остальное всё что в тренде - всё это ECS,
1
|
4866 / 2664 / 914
Регистрация: 29.11.2010
Сообщений: 5,746
|
|
20.09.2022, 11:10 | 37 |
ECS это типа Data-Driven Paradigm.
Это она в той конкретной статье написана в ООП стиле. Для ценителей есть реализация на хаскеле или на скала. Я считаю, что так происходит потому, что в обучении важнее не просидеть три дня отлаживая кусочек кода, а потратить максимум времени на проектирование и написание кода. Мне хэллоуворлды представляются эдаким "ознакомительным материалом" для оценки чего-то нового. Полностью согласен с уважаемым XLAT, что удобнее, когда показывают кусочки более реалистичного кода. Так проще понимать достоинства и недостатки. Хэллоуворлды подходят лишь для поверхностного ознакомления.
2
|
3718 / 2647 / 761
Регистрация: 29.06.2020
Сообщений: 9,800
|
|
20.09.2022, 12:42 | 38 |
Так построена книга по освоению фреймворка TurboVision.
Там всю книгу пишут красивый калькулятор Ну и по пути разбирают многие аспекты и устройство этого чуда. То есть не просто мелкие задачки разбираются, а полноценную программу. (в конце книги полный листинг кода, не помню, ~1000+ строк)
1
|
lemegeton
|
20.09.2022, 12:48
#39
|
0
|
Just Do It!
|
|
20.09.2022, 13:21 | 40 |
Сообщение было отмечено Laborant666 как решение
Решение
Р.Мартин сказал бы здесь, что термин Paradigm применен неуместно.
Ибо с его обоснования этого термина, всякая Paradigm накладывает ограничение. Итого, с его помощью мы имеем ТОЛЬКО ТРИ ПАРАДИГМЫ программирования: - структурную - ооп - функциональную допустим, если бы сюда пришёл CoderHuligun, то он бы заявил, что его спобоб кодирования это Гоуту Парадигма. есно это бред. по ссылке ваще нет ничего похожего, что можно было бы связать DDP(P - programming) c ECS. Не по теме: там есть обработка текста регулярками и упоминание скриптоязыков - это оно? )) если же всё же не рассуждать о сферических конях, а смотреть конкретные реализации ECS, которые я выше перечислил(а список гораздо больше), то в ECS под капотом ООП. нее, я не против того, что можно изголится и выкатить на чем угодно что угодно. вон, в СИ, например, при правильно его употреблении, инкапсуляция, более жесткая, чем в крестах и тд и тп.. функциональщина стала востребована с появлением многоядерности(..), чтобы можно было безболезненно параллелить. но всякий параллелизм предполагает, независимость текущего вычисления от предыдущего, и мы то имеем кучу таких алгоритмов в которых это(параллельное исполнение) невозможно. и здесь функциональщина будет проседать, т.е. её чистое применение даст оверхед.
1
|
20.09.2022, 13:21 | |
20.09.2022, 13:21 | |
Помогаю со студенческими работами здесь
40
Я полный новичок полный перебор Полный перебор Не полный Windows 8.1 Полный учебник с++ Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи | |||||
Счётчик на базе сумматоров + регистров и генератора сигналов согласования.
Hrethgir 07.01.2025
Создан с целью проверки скорости асинхронной логики: ранее описанного сумматора и предополагаемых fast регистров. Регистры созданы на базе ранее описанного, предполагаемого fast триггера. То-есть. . .
|
Как перейти с Options API на Composition API в Vue.js
BasicMan 06.01.2025
Почему переход на Composition API актуален
В мире современной веб-разработки фреймворк Vue. js продолжает эволюционировать, предлагая разработчикам все более совершенные инструменты для создания. . .
|
Архитектура современных процессоров
inter-admin 06.01.2025
Процессор (центральный процессор, ЦП) является основным вычислительным устройством компьютера, которое выполняет обработку данных и управляет работой всех остальных компонентов системы. Архитектура. . .
|
История создания реляционной модели баз данных, правила Кодда
Programming 06.01.2025
Предпосылки создания реляционной модели
В конце 1960-х годов компьютерная индустрия столкнулась с серьезными проблемами в области управления данными. Существовавшие на тот момент модели данных -. . .
|
Полезные поделки на Arduino, которые можно сделать самому
raxper 06.01.2025
Arduino как платформа для творчества
Arduino представляет собой удивительную платформу для технического творчества, которая открывает безграничные возможности для создания уникальных проектов. Эта. . .
|
Подборка решений задач на Python
IT_Exp 06.01.2025
Целью данной подборки является предоставление возможности ознакомиться с различными задачами и их решениями на Python, что может быть полезно как для начинающих, так и для опытных программистов.
. . .
|
С чего начать программировать микроконтроллеры
raxper 06.01.2025
Введение в мир микроконтроллеров
Микроконтроллеры стали неотъемлемой частью современного мира, окружая нас повсюду: от простых бытовых приборов до сложных промышленных систем. Эти маленькие. . .
|
Из чего собрать игровой компьютер
inter-admin 06.01.2025
Сборка игрового компьютера требует особого внимания к выбору комплектующих и их совместимости. Правильно собранный игровой ПК не только обеспечивает комфортный геймплей в современных играх, но и. . .
|
Обновление сайта www.historian.by
Reglage 05.01.2025
Обещал подвести итоги 2024 года для сайта. Однако начну с того, что изменилось за неделю. Добавил краткий урок по последовательности действий при анализе вредоносных файлов и значительно улучшил урок. . .
|
Как использовать GraphQL в C# с HotChocolate
Programming 05.01.2025
GraphQL — это современный подход к разработке API, который позволяет клиентам запрашивать только те данные, которые им необходимы. Это делает взаимодействие с API более гибким и эффективным по. . .
|
Модель полного двоичного сумматора с помощью логических операций (python)
AlexSky-coder 04.01.2025
def binSum(x:list, y:list):
s=^y]
p=x and y
for i in range(1,len(x)):
s. append((x^y)^p)
p=(x and y)or(p and (x or y))
return s
x=list()
y=list()
|
Это мы не проходили, это нам не задавали...(асихронный счётчик с управляющим сигналом зад
Hrethgir 04.01.2025
Асинхронный счётчик на сумматорах (шестиразрядный по числу диодов на плате, но наверное разрядов будет больше - восемь или шестнадцать, а диоды на старшие), так как триггеры прошли тестирование и. . .
|