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

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

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

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

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

Не по теме:

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

0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
11.10.2015, 23:38
Ответы с готовыми решениями:

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

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

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

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

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

Не по теме:

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

0
bodrich
12.10.2015, 02:44  [ТС]
  #3

Не по теме:

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

0
2063 / 1542 / 168
Регистрация: 14.12.2014
Сообщений: 13,402
12.10.2015, 02:58 4

Не по теме:

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


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

Не по теме:

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

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

Не по теме:

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



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

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

Добавлено через 3 минуты
Цитата Сообщение от bodrich Посмотреть сообщение
встроенного скриптового языка (да, там есть еще один встроенный язык, очень простой, чем-то похож на паскаль).
Lua ?
0
Заблокирован
12.10.2015, 19:12 13
Цитата Сообщение от Avazart Посмотреть сообщение
Lua ?
DSL
bodrich, см ЛС
0
Игогошка!
1801 / 708 / 44
Регистрация: 19.08.2012
Сообщений: 1,367
12.10.2015, 19:22 14
Цитата Сообщение от bodrich Посмотреть сообщение
Есть какие-нибудь инструменты для рефакторинга кода, дабы немного улучшить ситуацию
А в чем конкретно проблемы с такой ситуацией? Ты их пока не перечислил. Вижу тольку личную хотелку вида "я не хочу писать на плюсах, а хочу на питоне".
0
2063 / 1542 / 168
Регистрация: 14.12.2014
Сообщений: 13,402
12.10.2015, 20:59 15
Цитата Сообщение от bodrich Посмотреть сообщение
скилы, перки, спелы - вся механика на питоне
Ну не знаю как спелы на 100%, но по моему скилы и особенно перки на 100% должны быть в датапаке.
0
104 / 94 / 14
Регистрация: 20.06.2010
Сообщений: 965
Записей в блоге: 16
13.10.2015, 05:10  [ТС] 16
Цитата Сообщение от Avazart Посмотреть сообщение
Lua ?
Неа, язык разрабатывался под движок. Из возможностей там только переменные, операции над ними и блок if-else
Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
Ну не знаю как спелы на 100%, но по моему скилы и особенно перки на 100% должны быть в датапаке.
Это все наследие 94 года, как тогда ядро сделали, так сейчас примерно и осталось.
0
2063 / 1542 / 168
Регистрация: 14.12.2014
Сообщений: 13,402
13.10.2015, 05:34 17
Цитата Сообщение от bodrich Посмотреть сообщение
Из возможностей там только переменные, операции над ними и блок if-else
переход есть? ну в смысле goto? если есть то язык Тьюринг-полный и обеспечивает возможность любых вычислений.
0
104 / 94 / 14
Регистрация: 20.06.2010
Сообщений: 965
Записей в блоге: 16
13.10.2015, 06:29  [ТС] 18
Goto есть. Но нету к примеру массивов, нельзя создавать свои функции/процедуры.
0
13.10.2015, 06:29
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
13.10.2015, 06:29
Помогаю со студенческими работами здесь

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
18
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru