Перейдіть на другий підхід, просто через те, що ви можете будь-коли вводити нові типи ресурсів або елементи, не потребуючи перезапису чи оновлення коду ( розробка даних, що керується даними ).
Редагувати:
Детальніше про те, чому це взагалі хороша практика, навіть якщо ви на 100% впевнені, що значення ніколи не зміниться.
Візьмемо приклад гри консолі, згаданий у коментарях, тому що це є дуже вагомою причиною того, чому ви не повинні нічого жорстко кодувати, якщо ви дійсно не хочете (або хочете), наприклад, ключі шифрування, власне ім’я тощо.
Випускаючи гру на консолях, вони зазвичай повинні пройти процес огляду, де власний контроль якості виробника консолі перевірятиме гру, гратиме в неї, шукає проблеми тощо. Це обов'язково і коштує грошей, великих грошей. Я думаю, що колись я читав, що реліз може коштувати 30 000-50 000 доларів лише за сертифікацію.
А тепер уявіть, що ви підштовхуєте свою гру до випуску, платите 30000 доларів і чекаєте. І раптом ви помічаєте, що деякі ваші ігрові цінності буквально порушені. Скажімо, ви можете придбати залізні прутки за 50 золотих і продати їх за 55 золотих.
Що ти робиш? Якщо ви жорстко закодували цей матеріал, вам доведеться створити нову версію оновлення / випуску, яку доведеться ще раз пройти огляд, тому в гіршому випадку ви ще раз заплатите за повторну сертифікацію! Надіваюся, Ubisoft не буде проти, але для вашої власної маленької кишені для розробників інді-ігор ... ой!
Але уявіть, що гра буде періодично перевіряти наявність оновлених визначень гри (наприклад, у вигляді файлу JSON). Ваша гра може завантажити та використовувати найновішу версію в будь-який час, не вимагаючи нового оновлення. Ви можете виправити цей дисбаланс / експлуатувати / помилку в будь-який час, не вимагаючи повторної сертифікації або будь-яких інших грошей. Просто якесь незначне дизайнерське рішення, ви не думали, що воно варте, просто заощадили 5-значну суму грошей! Хіба це не дивовижно? :)
Просто не зрозумій мене неправильно. Це стосується і інших типів програмного забезпечення та платформ. Завантаження оновлених файлів даних, як правило, набагато простіше і придатніше для звичайного користувача, незалежно від того, чи це гра, чи якийсь додаток / інструмент. Уявіть гру, встановлену у програмі Файли в Windows. Ваш оновник потребує прав адміністратора, щоб змінити що-небудь, і ви не можете змінювати запущені програми. Завдяки DDD ваша програма просто завантажує дані та використовує їх. Гравець може навіть не помітити, що відбулось оновлення.