Ответ: Написал c# враппер
Учитывая что нету никаких локальных контейнеров с индексацией по указателям на сущности, то менеджера сущностей соответственно нету.
К чему это ведёт: Surface surf1 = mesh.GetSurface(1); Surface surf2 = mesh.GetSurface(1); В результате surf1 не будет равна surf2, это будут отдельные два объекта, невзирая на то что в памяти есть уже этот самый сюрфейс, и указатель на него (handle) у них одинаковый. Это не экономно к памяти, и приведёт к большим затратам, порой к катастрофическим если класс объекта будет не маленьким. Постоянно вызывать конструктор и т.п. Классы начинаются с "Т" - это что, blitzmax style? Сейчас так никто не пишет. Также использование "_" для приватных переменных объекта, в C# давно никто не юзает тоже. Т.к. почти везде рекомендуется ВСЕ переменные держать в виде приватных мемберов, и писать для доступа к ним аксессоры. Таким образом использование "_" становится не нужным, иначе все переменные будут его иметь, и какой тогда в этом смысл? Ещё по стилю, куча переменных с заглавных букв - это уже вообще ни в какие ворота.. Используй camelCase, без _. Относительно многих файлов, их нужно почистить. Например TBlend.cs имеет uses'ы, которые там вообще не нужны. Наименование Namespace'а, вообще ни как не соответствует тому что это такое. Он должен говорить что в этом именном пространстве, а не какой-то "Х???". Куча объектов создаваемых в TEntity, когда не факт что хоть один будет юзаться. Куча странных файлов, ничего о себе не говорящих. Если человек даже знаком с Xors3d, то ему придётся учиться и изучать твой враппер - это очень сбивает с толку. Снова: с памятью у тебя огромные косяки, там создаются куча объектов, и каждый раз пересоздаются снова и снова, что вообще не нужно. Во многих местах ты попытался как-то "изменить" структуру и подход к использованию движка, но это должно быть не в ущерб, и интуитивно. В общем, как начало - неплохо, но для продолжения нужно много чего изменить и привезти в порядок. Если ты так хочешь иметь эти все объекты (типо TJoints) в энтитях, то хотя бы инициализируй их в аксессорах к этим фиелдам, чтобы не было лишних созданий. В общем, много над чем есть работать. Где тех доки по тому что это и как это вообще работает? Снова никакой документации вообще. |
Ответ: Написал c# враппер
Ну и где тут не читабельный или плохо читабельный код?
|
Ответ: Написал c# враппер
раз уж пошла такая пьянка
тоже использую подчёркивания для приватных филдов. неприватные филды стараюсь не делать вообще - мешает реюзабельности. В команде изначально был принят стандарт по именованию переменных. что избавляет от лишней траты времени на пролистывания истинга чтобы узнать кому принадлежит переменная. также приняты "Is..." и "Has..." как узкатаели на булевский функции и члены. Не понимаю как может упасть читабельность от "_". это наоборот повзоляет избегать конфликтов зон видимостей, так как можно принимать одноимённые имена переменных в качестве аргументов функций "_position" -"position" - что делает код читабельней. использование "this" считаю излишним и признаком плохого проектирования. |
Когда вбиваешь "_" и выдаёт приватные переменные - это ок. Но что если ты используешь и не приватные в классе, получается чтобы обратиться к ним, нужно знать локальна она или нет, чтобы начинать с "_" или без.
По мне так удобнее, и встретил кучу Open Source проектов, использующих очень близкий к этому стилю: Цитата:
Читаю не внимательно. Цитата:
Цитата:
Цитата:
Использование "this." позволяет чётко даже не знающему класса понять что обращение идёт к мемберу класса. Некоторые программисты использовали _ в начале переменных совсем иначе, и это не "становленное" правило языком. Поэтому если полагаться на то что ВСЕ переменные с "_" вначале - мемберы экземпляра, то тут можно конкретно наломаться, когда будешь бегать по чужому коду, кто например помечает также "_" локальные переменные. Цитата:
Не знающих абстрактных правил разраб, будет опираться на языковые "правила" и возможности. Именно использования стандартных средств, позволяет писать полностью дружелюбный код для всех кто знаком с языком. |
Ответ: Написал c# враппер
Цитата:
Цитата:
Цитата:
Цитата:
|
Ответ: Написал c# враппер
Цитата:
Цитата:
Венгерская нотация - тоже чёткие правила, и минусов там лишь прибавилось. Все правила что есть выше самого языка по уровню, они будут всегда везде разные, каждая команда пишет код как хочет. Но что они сделать не могут - это идти против правил диктуемых языком: тот же "this.". Цитата:
Все пишут код как им угодно. Нету мировых стандартов вообще. Каждый нарабатывает свой стиль. Но есть некоторые моменты, которые лучше не делать по тем или иным причинам. Проблегись по реально крупным Open Source проектам, студий которые имеют хороший опыт в разработке на .Net. Большинство отказывается от "_" и это разумно. Цитата:
Хорошо, вот тебе пример: Код:
public void SetPosition(vec3 position) { И таких примеров много, когда в метод передаются параметры с наименованием совпадающим с их мемберами. И никаких ограничений по именам параметров и не должно быть как таковой, этого ведь другой разработчик не знает, и не должен об этом вообще париться. |
Ответ: Написал c# враппер
Цитата:
PHP код:
|
Ответ: Написал c# враппер
Цитата:
"_" - не явно указывает тем кто со стилем не знаком. Им придётся смотреть где она объявлена. Может это константа, или статическая переменная класса, а может вообще отцовского класса какая переменная. Если this. - тот тут любой поймёт, т.к. это уже определено языком, от куда она идёт, и то что это мембер экземпляра, а никакая например не константа класса. |
Ответ: Написал c# враппер
Цитата:
|
Ответ: Написал c# враппер
Цитата:
|
Ответ: Использование "_" или "this." для локальным переменных экземпляра класса.
разговора про protected не было ;)
|
Ответ: Использование "_" или "this." для локальным переменных экземпляра класса.
Цитата:
|
Ответ: Использование "_" или "this." для локальным переменных экземпляра класса.
Цитата:
Цитата:
|
Ответ: Использование "_" или "this." для локальным переменных экземпляра класса.
Дык, их использование касается всех мемберов.
Иначе какой профит иметь и приватные и публичные переменные экземпляра которые также могут использоваться в его же методах, только публичные не будут иметь "_" а приватные будут. Получается "_" лишь указывает на их приватность, а не на факт их локальности видимости относительно экземпляра класса? |
А публичные филды делать - плохой тон. Правильно - свойства. А для свойств правила - CamelCase
Кстати вот: Цитата:
|
Часовой пояс GMT +4, время: 01:46. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot