Пятница, 29 Ноября 2024, 12:11

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Маленькие скрипты VS большие?
robertonoДата: Пятница, 08 Мая 2015, 22:08 | Сообщение # 1
Чокнутый Кот
Сейчас нет на сайте
Добрый вечер!

Дайте совет пожалуйста, что лучше : маленькие скрипты (макс 300 - 500 строк) или большие (500 - 1000 и больше) ?

А то у меня есть главный скрипт, 773 строки. Начинаю уже путаться в нём.. Я делаю что то неправильно? Такое у меня уже не первый раз, но я и не так давно этим всем занимаюсь smile

Дайте совет в общем. Скажите, пожалуйста, как это делаете вы.

Спасибо smile

Добавлено (08 мая 2015, 22:08)
---------------------------------------------
Посоветуете что нибудь? Как делаете вы?

Сообщение отредактировал robertono - Пятница, 08 Мая 2015, 20:14
PoidetLiДата: Пятница, 08 Мая 2015, 22:20 | Сообщение # 2
участник
Сейчас нет на сайте
Разделяй на маленькие

в еюдуго прсхлуренц
http://gcup.ru/forum/9-44187-1 мой Project 96
FlowДата: Пятница, 08 Мая 2015, 22:31 | Сообщение # 3
-=[.FSProduction.]=-
Сейчас нет на сайте
robertono, у многих разработчиков на юнити принято считать, что 1 скрипт = 1 класс. )
robertonoДата: Пятница, 08 Мая 2015, 22:33 | Сообщение # 4
Чокнутый Кот
Сейчас нет на сайте
PoidetLi, меня больше интересует как это делаете Вы. smile

Flow, это.. не очень понятно. Точнее. Я так и делаю. Но сам класс становиться очень большим - очень много переменных и функций. Стоит ли это того? Или лучше распределять по отдельным классам (сортировать всякую мелочь) ?
А как Вы это делаете?
PoidetLiДата: Пятница, 08 Мая 2015, 22:45 | Сообщение # 5
участник
Сейчас нет на сайте
Цитата robertono ()

Flow, это.. не очень понятно. Точнее. Я так и делаю. Но сам класс становиться очень большим - очень много переменных и функций. Стоит ли это того? Или лучше распределять по отдельным классам (сортировать всякую мелочь) ?
А как Вы это делаете?

разделить на мелкие классы, допустим Game разделить на Physics и Graphics и Input их в свою очередь ещё на мелкие


в еюдуго прсхлуренц
http://gcup.ru/forum/9-44187-1 мой Project 96
berilДата: Пятница, 08 Мая 2015, 23:16 | Сообщение # 6
Я не ленивый, я — энергосберегающий
Сейчас нет на сайте
Цитата robertono ()
Flow, это.. не очень понятно. Точнее. Я так и делаю. Но сам класс становиться очень большим - очень много переменных и функций. Стоит ли это того? Или лучше распределять по отдельным классам (сортировать всякую мелочь) ?
А как Вы это делаете?

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

Цитата robertono ()
Посоветуете что нибудь?

ООП biggrin Почитай книги, посмотри вебинары

Почитай книгу "Совершенный код" С. Макконнелл




Накодил? Убери за собой!
Инвентарь в Unity(UI)
Инвентарь в Unity(GUI)
MANMANAДата: Пятница, 08 Мая 2015, 23:23 | Сообщение # 7
почти ветеран
Сейчас нет на сайте
Очень хороший пример для изучения описан в книге Джеффа Мюррея http://www.amazon.com/Game-Programming-Cookbook-Unity-3D/dp/1466581409
Фреймворки, паттерны. Все уже придумано за нас smile
А так: разделяй и властвуй.
С моей стороны использование маленьких скриптов по функциональности не дает запутаться, но не стоит из мухи делать мушек, разделяя скрипт для перемещения на несколько скриптов, один из которых отвечает за перемещение по горизонтали, второй - по вертикали, третий, влево-вверх и т.д. Утрированно.
Однако не стоит забывать про унифицирование скриптов, например, скрипт управления должен подходить для управления любой техникой. Другое дело - наследование, которое поможет расширить класс управления лодкой, самолетом , танком, включая инстансы класса лодка, танк и т.д...


http://www.3dbuffer.com/ Текстуры, Unity3D, Blender: Эффекты, скрипты, моделирование, текстурирование, скульптинг
VKонтакте 3Dbuffer

Последнее:

Новый раздел "Текстуры"

Как запатентовать, защитить техническое решение, игру, идею
TymonrДата: Суббота, 09 Мая 2015, 00:35 | Сообщение # 8
With OpenSource forever
Сейчас нет на сайте
Вообще, не совсем ясно, зачем шариться по уже написанному коду — написал класс, прописал интерфейс, если нужно расширить функционал — создаешь дочерние классы.

Если вы решили обратиться к нам за помощью, не становитесь в позицию неудачника. И не ведите себя как неудачник. Лучший способ получить быстрый и чуткий ответ, - спрашивать как победитель — спрашивать как человек умный, уверенный в себе и знающий, которому просто понадобилась помощь при решении одной конкретной проблемы.
Как правильно задавать вопросы в технических форумах
robertonoДата: Суббота, 09 Мая 2015, 00:47 | Сообщение # 9
Чокнутый Кот
Сейчас нет на сайте
Tymonr, дело в том, что C# я пользуюсь года 2 - 3.
Но я вообще не знаю, что такое struct и interface, точнее знаю что такое struct примерно, но пользоваться не умею вообще. Видимо с этого всё и начинается. Если бы мне кто то человеческим языком объяснил что это такое, я может бы и понял..
MANMANAДата: Суббота, 09 Мая 2015, 01:05 | Сообщение # 10
почти ветеран
Сейчас нет на сайте
Цитата robertono ()
Вообще, не совсем ясно, зачем шариться по уже написанному коду — написал класс, прописал интерфейс, если нужно расширить функционал — создаешь дочерние классы.

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


http://www.3dbuffer.com/ Текстуры, Unity3D, Blender: Эффекты, скрипты, моделирование, текстурирование, скульптинг
VKонтакте 3Dbuffer

Последнее:

Новый раздел "Текстуры"

Как запатентовать, защитить техническое решение, игру, идею
PoidetLiДата: Суббота, 09 Мая 2015, 01:06 | Сообщение # 11
участник
Сейчас нет на сайте
Цитата robertono ()
дело в том, что C# я пользуюсь года 2 - 3.
Но я вообще не знаю, что такое struct и interface, точнее знаю что такое struct примерно

а что ты эти 2-3 года изучал? biggrin


в еюдуго прсхлуренц
http://gcup.ru/forum/9-44187-1 мой Project 96
robertonoДата: Суббота, 09 Мая 2015, 01:11 | Сообщение # 12
Чокнутый Кот
Сейчас нет на сайте
PoidetLi, основы хорошо выучил и всё. Классы, методы, fields, properties.
Но я плохо разбираюсь в наследовании, структурах и интерфейсах. Первое начал недавно использовать. Наследование классов.

MANMANA, мне кажется у любой игры должен быть понятный код, а не такой где всё подряд напихано..
berilДата: Суббота, 09 Мая 2015, 01:14 | Сообщение # 13
Я не ленивый, я — энергосберегающий
Сейчас нет на сайте
Цитата robertono ()
Но я вообще не знаю, что такое struct и interface, точнее знаю что такое struct примерно, но пользоваться не умею вообще. Видимо с этого всё и начинается. Если бы мне кто то человеческим языком объяснил что это такое, я может бы и понял..

Структуры используют большую часть того же синтаксиса, что и классы, однако они более ограничены по сравнению с ними. Не поддерживают наследование к примеру. Но самое главное структура значимый тип данных, класс ссылочный тип, думаю за 2-3 года использования C# ты понимаешь разницу меду значимым типом (стеком) и ссылочным (управляемой кучей) и на что это влияет. cool
Ну а если коротко


видео должно помочь




Накодил? Убери за собой!
Инвентарь в Unity(UI)
Инвентарь в Unity(GUI)
PoidetLiДата: Суббота, 09 Мая 2015, 01:29 | Сообщение # 14
участник
Сейчас нет на сайте
Цитата robertono ()
основы хорошо выучил и всё. Классы, методы, fields, properties.
Но я плохо разбираюсь в наследовании, структурах и интерфейсах. Первое начал недавно использовать. Наследование классо

you real? Да даже если открыть любую страницу, 2-3 глава это наследование
Цитата beril ()
для повышения эффективности и производительности программ. Не зря ведь в шейдерах структуры используют

или для своего формата файла smile


в еюдуго прсхлуренц
http://gcup.ru/forum/9-44187-1 мой Project 96


Сообщение отредактировал PoidetLi - Суббота, 09 Мая 2015, 01:30
TymonrДата: Суббота, 09 Мая 2015, 01:46 | Сообщение # 15
With OpenSource forever
Сейчас нет на сайте
Цитата MANMANA ()
серьезные игры без хорошей архитектуры - фихня. имхо, конечно.

Так я и говорю — выстраиваешь архитектуру по кирпичикам, начиная от самого основного, на этом ООП и основан ведь. Зачем раздувать интерфейс уже написанного класса, если всегда можно унаследовать?

Цитата robertono ()
Если бы мне кто то человеческим языком объяснил что это такое, я может бы и понял..

Потрать немного денег, купи пару учебников. Но а лучше если английский знаешь — открываешь документ стандарта и просто читаешь

Цитата beril ()
Структуры используют большую часть того же синтаксиса, что и классы, однако они более ограничены по сравнению с ними.

Если точнее, цитирую Т.А. Павловскую — "Доступ к элементам, а так же базовый класс при наследовании по умолчанию считаются public. Структуры предпочтительнее использовать для классов, все элементы которых доступны".
Есть кстати еще объединения(union)


Если вы решили обратиться к нам за помощью, не становитесь в позицию неудачника. И не ведите себя как неудачник. Лучший способ получить быстрый и чуткий ответ, - спрашивать как победитель — спрашивать как человек умный, уверенный в себе и знающий, которому просто понадобилась помощь при решении одной конкретной проблемы.
Как правильно задавать вопросы в технических форумах
berilДата: Суббота, 09 Мая 2015, 07:04 | Сообщение # 16
Я не ленивый, я — энергосберегающий
Сейчас нет на сайте
Цитата Tymonr ()

Так я и говорю — выстраиваешь архитектуру по кирпичикам, начиная от самого основного, на этом ООП и основан ведь. Зачем раздувать интерфейс уже написанного класса, если всегда можно унаследовать?

Любая игра должна начинаться с редактора UML cool




Накодил? Убери за собой!
Инвентарь в Unity(UI)
Инвентарь в Unity(GUI)
robertonoДата: Суббота, 09 Мая 2015, 11:12 | Сообщение # 17
Чокнутый Кот
Сейчас нет на сайте
PoidetLi, я изучал лишь то, что мне было необходимо для программирования, я не читал книги и вообще мне по книгам трудно учиться. Хотя это было трудно в 14 лет, мне уже 9 дней как 16, может разберусь) Я вообще хотел почитать эту книгу:
Цитата beril ()
Почитай книгу "Совершенный код" С. Макконнелл
gogogo3Дата: Понедельник, 11 Мая 2015, 14:57 | Сообщение # 18
частый гость
Сейчас нет на сайте
Разделите скрипт, отметьте для себя комментариями, измените классы. Всё равно маленькие скрипты лучше, чем большие. В больших 40% из 100 запутаешься.

UнайTI iKS

Сообщение отредактировал gogogo3 - Понедельник, 11 Мая 2015, 14:58
pixeyeДата: Пятница, 22 Мая 2015, 04:23 | Сообщение # 19
Red Winter Software
Сейчас нет на сайте
Цитата robertono ()
айте совет пожалуйста, что лучше : маленькие скрипты (макс 300 - 500 строк) или большие (500 - 1000 и больше) ?

А то у меня есть главный скрипт, 773 строки. Начинаю уже путаться в нём.. Я делаю что то неправильно? Такое у меня уже не первый раз, но я и не так давно этим всем занимаюсь

Дайте совет в общем. Скажите, пожалуйста, как это делаете вы.

Спасибо


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


ACTORS - мой фреймворк на Unity
Until We Die - игра над которой работаю

VinchensooДата: Пятница, 22 Мая 2015, 10:27 | Сообщение # 20
Злобный социопат с комплексом Бога
Сейчас нет на сайте
Цитата pixeye ()
Важно не сколько строк, а логическая цепочка и целостность функционала. Желательно, чтобы скрипт решал конкретную задачу. Чем меньше разных задач решается в скрипте тем он проще и безопаснее.

Проще говоря, если пишешь на шарпе, то нужно понимать, как работает ООП


  • Страница 1 из 1
  • 1
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг