Форум программистов, компьютерный форум, киберфорум
C++
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
104 / 94 / 14
Регистрация: 20.06.2010
Сообщений: 966
Записей в блоге: 16

Что можно сделать с проектом ?

11.10.2015, 23:38. Показов 1078. Ответов 17
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
В данный момент поддерживаю одну старую игру (игра полностью некоммерческая, код открыт, онлайн примерно 50-60 человек, написан на си/c++, поддерживать есть необходимость только серверную часть). Что имеется.
1) Много кода (200к+ строк кода, для меня это очень много)
2) Некоторые участки кода не обновлялись с !1991 года!
3) За это время над кодом успело поработать очень много людей, которые далеки от программирования, что привело к огромному количество быдлокода (например, функции, никем не комментируемые и части которых разбросаны по множеству файлов)
4) Документации никакой естественно нет.
5) К проекту подключен boost и активно там юзается
6) К проекту подключен python.

В связи с этим возникает несколько вопросов
1) Есть какие-нибудь инструменты для рефакторинга кода, дабы немного улучшить ситуацию
2) Есть ли какие-нибудь инструменты, которые позволят обернуть (опять же, автоматически или в полуавтоматическом варианте) си++ функции для питона ? (дабы из питона их можно было потом дергать)

Не по теме:

Чисто для интереса, сколько будет стоить перевод всего этого с плюсов на какой-нибудь скриптовый язык типа питона ?

0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
11.10.2015, 23:38
Ответы с готовыми решениями:

Можно ли сделать индикатор загрузки проектом системы?
Чтобы на фронт панел отображалось текущее использование ОЗУ и загрузка ЦП

Можно ли сделать ,что бы запрос можно было запустить через кнопку на Форме?
Если можно ,то как? Добавлено через 13 минут Сейчас,создал форму,поставил кнопку,на нее выбрал что бы делался определенный запрос...

Можно ли сделать так, что сквозь форму можно было бы тыкать мышью по файлам?
Можно ли сделать так, что сквозь форму можно было бы тыкать мышью по файлам? Т.е. например, как в Bandicam можно спокойно с рабочим столом...

17
 Аватар для Fulcrum_013
2083 / 1575 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
11.10.2015, 23:48
Цитата Сообщение от bodrich Посмотреть сообщение
Есть какие-нибудь инструменты для рефакторинга кода, дабы немного улучшить ситуацию
1) я так думаю переписать с нуля будет проще чем рефакторить. Не, вообще просто интересно чем там занимаются аж 200k+ кода в серверной части.
2)Наверное это участки очень хорошего кода.
3) Вот эту часть скорее всего и надо выкинуть а потом сделать с нуля. Я так думаю что при таких раскладах 80% а то и больше кода делают 10% функциональности
4) Ну это понятно. Я так думаю что если бы не 3 то код бы был лучше документации.
5) Мода.
6) А это еще зачем? А ну да, тоже мода.

Не по теме:

Цитата Сообщение от bodrich Посмотреть сообщение
Чисто для интереса, сколько будет стоить перевод всего этого с плюсов на какой-нибудь скриптовый язык типа питона ?
Я так думаю дорого. Особенно в плане роста потребной мощности сервера.

0
12.10.2015, 02:44  [ТС]

Не по теме:

Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
Я так думаю дорого. Особенно в плане роста потребной мощности сервера.
Не проблема. Сейчас сервер крутится на VPS стоимостью в полтысячи рублей и пожирает 10-20% cpu и столько же озу.

0
 Аватар для Fulcrum_013
2083 / 1575 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
12.10.2015, 02:58

Не по теме:

Цитата Сообщение от bodrich Посмотреть сообщение
Не проблема. Сейчас сервер крутится на VPS стоимостью в полтысячи рублей и пожирает 10-20% cpu и столько же озу.
Это в среднем. А в пике? И какой смысл делать на скриптах если ек подразумевается кросс-платформенность, при этом оставлять большую часть нативной?


Краем глаза можно взглянуть что там за проект? Просто интересно что можно раздуть до 200k строк серверной части.
И еще вопрос - как строки считали? Если это та цифра которая показывается при компиляции, то это далеко не тот объем кода который лежит в файлах. Это количество строк как в обработанных препроцессором ваших фалах + количество строк в обработанных хидерах подключаемых библиотек, в случае библиотек шаблонов - в развернутых шаблонах. Для сравнения современные фрэймверки на пустой форме показывают 1,7 млн строк.
0
104 / 94 / 14
Регистрация: 20.06.2010
Сообщений: 966
Записей в блоге: 16
12.10.2015, 08:44  [ТС]
И еще вопрос - как строки считали?
cat *.cpp *.hpp .h | wc -l
А в пике?
Немногим больше. Сервер очень мало кушает. На этом vps ещё крутится полноценная копия + все это дело собирается.
И какой смысл делать на скриптах если ек подразумевается кросс-платформенность, при этом оставлять большую часть нативной
Скорость разработки. Хочется много чего закодить, но мне тупо времени не хватает, с учётом того, что я плюсы знаю плохо (изучал на первом курсе универа, после этого перешёл на шарп и питон).
Ссылка на репозиторий https://bitbucket.org/bylins/mud
0
 Аватар для Fulcrum_013
2083 / 1575 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
12.10.2015, 09:01
Ужасть... она даже не ООП-ная... да и по коду... там 90% как минимум захардкожено. При выносе всего этого в датапак код должен сократится катастрофически.
0
12.10.2015, 11:35  [ТС]

Не по теме:

Так сколько примерно будет стоит перевод всего этого ужаса на питон ? И как я понимаю, стоимость приведение всего этого в божеский вид на тех же плюсах, обойдется еще дороже ?

0
Эксперт С++
 Аватар для Avazart
8488 / 6155 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
12.10.2015, 11:58
Цитата Сообщение от bodrich Посмотреть сообщение
Так сколько примерно будет стоит перевод всего этого ужаса на питон ? И как я понимаю, стоимость приведение всего этого в божеский вид на тех же плюсах, обойдется еще дороже ?
А смысл все переводить на питон?
Как я понимаю все что можно было уже вынесено на питон.
Думаю причесать плюсовый код логичнее, хотя сомневаюсь что такое можно доверять фрилансеру, хотя конечно смотря какому...
Т.е я имею ввиду что если каждый раз и за каждую доработку/правку будет браться другой фрилансер нет гарантий что не получите тот самый хардкор.
Так что лучше что бы проектом занимался один человек и желательно заинтересованный человек, а не просто как "сезонный" работник.

Не по теме:

Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
Ужасть... она даже не ООП-ная...
При чем тут это ...



Добавлено через 5 минут
Цитата Сообщение от bodrich Посмотреть сообщение
1) Есть какие-нибудь инструменты для рефакторинга кода, дабы немного улучшить ситуацию
Некоторые среды разработки уже включают средства для рефакторинга, например QtCreator
0
104 / 94 / 14
Регистрация: 20.06.2010
Сообщений: 966
Записей в блоге: 16
12.10.2015, 12:08  [ТС]
Цитата Сообщение от Avazart Посмотреть сообщение
А смысл все переводить на питон?
Скорость разработки
Цитата Сообщение от Avazart Посмотреть сообщение
Как я понимаю все что можно было уже вынесено на питон.
К сожалению, нет. Только небольшая часть базового функционала.
0
Эксперт С++
 Аватар для Avazart
8488 / 6155 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
12.10.2015, 12:24
Цитата Сообщение от bodrich Посмотреть сообщение
Скорость разработки
А снижение скорости из за "скриптовости" ?
Скорость разработки больше зависит от квалификации разработчика и точного видения конечной цели, а не от языка.

Цитата Сообщение от bodrich Посмотреть сообщение
К сожалению, нет. Только небольшая часть базового функционала.
Ну так что мешает продолжить выносить?
Выносят как правило "часто изменяемое поведение" описание комнат,шмоток итп а не полностью "все".
1
104 / 94 / 14
Регистрация: 20.06.2010
Сообщений: 966
Записей в блоге: 16
12.10.2015, 13:12  [ТС]
Цитата Сообщение от Avazart Посмотреть сообщение
А снижение скорости из за "скриптовости" ?
Производительность в данном случае не так важна, даже если упадет раз в 10.
Цитата Сообщение от Avazart Посмотреть сообщение
Скорость разработки больше зависит от квалификации разработчика и точного видения конечной цели, а не от языка.
Хорошо квалифицированные разработчики C++ не имеются. Когда я начинаю писать под этот проект что-то, я начинаю думать, как легко и лаконично это писалось бы на питоне, и как тяжело и нудно пишется на плюсах. Да, я не могу особо в плюсы, и никто из текущей администрации проекта особо не могет. Согласитесь, на скриптовых языках такие вещи писать легче и быстрее, если, конечно же, вы до этого не писали на плюсах десяток лет.
Цитата Сообщение от Avazart Посмотреть сообщение
Ну так что мешает продолжить выносить?
Тут такая дилемма. Для 90% создания игрового мира хватает встроенного скриптового языка (да, там есть еще один встроенный язык, очень простой, чем-то похож на паскаль). А для оставшихся 10% есть плюсы. Вручную все оборачивать у меня сил не хватит, а если оборачивать по степени необходимости, то придется прыгать между плюсами. Я бы хотел примерно как здесь https://www.openhub.net/p/anaria/factoids (скилы, перки, спелы - вся механика на питоне).
0
Эксперт С++
 Аватар для Avazart
8488 / 6155 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
12.10.2015, 13:42
Цитата Сообщение от bodrich Посмотреть сообщение
Согласитесь, на скриптовых языках такие вещи писать легче и быстрее, если, конечно же, вы до этого не писали на плюсах десяток лет.
Не соглашусь.
Я пишу на плюсах, а когда пишу на питоне думаю как бы это легко было на плюсах... это вопрос привычки умений и мышления.

Добавлено через 3 минуты
Цитата Сообщение от bodrich Посмотреть сообщение
встроенного скриптового языка (да, там есть еще один встроенный язык, очень простой, чем-то похож на паскаль).
Lua ?
0
 Аватар для alkagolik
1599 / 622 / 113
Регистрация: 15.07.2011
Сообщений: 3,548
12.10.2015, 19:12
Цитата Сообщение от Avazart Посмотреть сообщение
Lua ?
DSL
bodrich, см ЛС
0
Игогошка!
 Аватар для ct0r
1801 / 708 / 44
Регистрация: 19.08.2012
Сообщений: 1,367
12.10.2015, 19:22
Цитата Сообщение от bodrich Посмотреть сообщение
Есть какие-нибудь инструменты для рефакторинга кода, дабы немного улучшить ситуацию
А в чем конкретно проблемы с такой ситуацией? Ты их пока не перечислил. Вижу тольку личную хотелку вида "я не хочу писать на плюсах, а хочу на питоне".
0
 Аватар для Fulcrum_013
2083 / 1575 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
12.10.2015, 20:59
Цитата Сообщение от bodrich Посмотреть сообщение
скилы, перки, спелы - вся механика на питоне
Ну не знаю как спелы на 100%, но по моему скилы и особенно перки на 100% должны быть в датапаке.
0
104 / 94 / 14
Регистрация: 20.06.2010
Сообщений: 966
Записей в блоге: 16
13.10.2015, 05:10  [ТС]
Цитата Сообщение от Avazart Посмотреть сообщение
Lua ?
Неа, язык разрабатывался под движок. Из возможностей там только переменные, операции над ними и блок if-else
Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
Ну не знаю как спелы на 100%, но по моему скилы и особенно перки на 100% должны быть в датапаке.
Это все наследие 94 года, как тогда ядро сделали, так сейчас примерно и осталось.
0
 Аватар для Fulcrum_013
2083 / 1575 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
13.10.2015, 05:34
Цитата Сообщение от bodrich Посмотреть сообщение
Из возможностей там только переменные, операции над ними и блок if-else
переход есть? ну в смысле goto? если есть то язык Тьюринг-полный и обеспечивает возможность любых вычислений.
0
104 / 94 / 14
Регистрация: 20.06.2010
Сообщений: 966
Записей в блоге: 16
13.10.2015, 06:29  [ТС]
Goto есть. Но нету к примеру массивов, нельзя создавать свои функции/процедуры.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
13.10.2015, 06:29
Помогаю со студенческими работами здесь

Можно ли сделать так что бы в Java-приложения можно было играть на своем сайте, не скачивая их?
Можно ли сделать так что бы в Java-приложения можно было играть на своем сайте,не скачивая их???если да то скиньте плиз какой нить мануал)))

Факс думает, что застрял документ. Что можно сделать?
Здравствуйте, факс panasonic kx-ft982, постоянно на дисплее горит "Удалите документ. Нажмите Stop". Однако никакого застрявшего...

Что можно сделать, что бы конструктор вызывался один раз при агрегировании?
Добрый день. Написал код, но два раза подряд вызывается конструктор, так как создаю объект в другом классе.. Что можно сделать, что бы...

Что можно сделать на языке C++, но нельзя сделать на C#
Расскажите пожалуйста, что можно сделать на языке C++, но нельзя сделать на C#. И наоборот)

Оптимизация кода, структуры базы, или что еще можно сделать что бы быстрее работало!?
Всем привет! Господа, выручайте. Не пойму как еще оптимизировать... Есть куча связанных таблиц. Нужно выводить статистику используя...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
18
Ответ Создать тему
Новые блоги и статьи
Программный контроль заполнения реквизита табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать контроль заполнения реквизита "ПричинаСписания". . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: при создании документов установить период списания автоматически. . .
Вывод данных в справочнике через динамический список
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2. Задача: вывести данные из ТЧ нетипового документа. . .
Программное заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению. На форме документа создается. . .
К слову об оптимизации
kumehtar 01.04.2026
Вспоминаю начало 2000-х, университет, когда я писал на Delphi. Тогда среди программистов на форумах активно обсуждали аккуратную работу с памятью: нужно было следить за переменными, вовремя. . .
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru