Сообщение от
DeimoS
Только так делать и нужно - системы должны быть максимально самостоятельными, а все взаимосвязи уже должны строиться через дополнительные промежуточные функции. Ибо, банально, если в будущем ты решишь, например, изменить одну из систем, тебе не придётся придумывать костыли для того, чтоб не сломать две другие системы, которые ты написал в тесном взаимодействии с первой.
В общем, не о том ты сейчас переживаешь. Тебе, в самую первую очередь, сейчас нужно писать максимально понятный и структурированный код, в который, в будущем, удобно будет вносить правки и выискивать в нём баги. Оптимизация - это последнее, о чём ты должен сейчас думать. Оптимизируй ровно на интуитивно понятном уровне (то бишь, в плане оптимизации делай только те вещи, которые тебе сразу в голову приходят и которые не усложняют код). Если ты напишешь качественный код, то даже если в реальной работе он начнёт вызывать проблемы - тебе не составит труда его оптимизировать. А вот если ты изначально только и будешь, что пытаться оптимизировать то, что оптимизации особо не требует - ты будешь страдать с этим кодом в будущем, когда тебе потребуется его поддерживать.
UPD: Ну если прямо очень свербит вся эта ситуация, то, для начала, скинь хотя бы примеры кода или опиши более подробно те моменты, которые тебе не нравятся. Ибо описание "системы будут однотипные" не говорит ни о чём, так как даже инвентарь можно множеством разных способов реализовать.