Нет, но вы можете сделать что-то вроде хака под капотом, вот так:
struct BusinessObject: Codable {
enum CodingKeys: String, CodingKey {
case primaryId = "id"
case alternativeId = "some_id"
}
private let primaryId: Int?
private let alternativeId: Int?
var id: Int {
return primaryId ?? alternativeId ?? 0
}
}
Лучшие установки, с которыми я работал, имеют 3 иерархии уровня:
Это будет также зависеть от бюджета и мышления компании.
Это зависит на нашем рабочем месте, разработчики делают все. Никакой systemadministrator ничего не говорит (так как я - systemadmin и разработчик),
Плохая часть, хотя, большое тестирование, происходит на живой среде, против которой я и пытающийся остановиться, но никакая удача все же.
Мое последнее рабочее место это был дескриптор также разработчиками, но шаг за шагом, много этапов перед вводом в эксплуатацию.
Мы используем соединение подходов. Для приложений, где я - основной разработчик и это размещается на выделенном сервере (или VM), у меня есть полный доступ к веб-серверу. Для приложений, где я только разрабатываю часть объемного приложения или соответствия приложения в рамках большей основы, я получаю доступ к каталогу, где я могу опубликовать. Для тестовых сред (или разработка прототипа новых сервисов), это - обычно полный доступ. У меня есть свое собственное специализированное поле QA, к которому у меня есть полный доступ для работы QA. SQL-серверы обрабатываются по-другому. У меня есть полная установка SQL-сервера локально, что я разрабатываю против. Я обычно взаимодействую с DBA, чтобы разбудить набор базы данных при тестировании и рабочих серверах, но иметь полный административный доступ к базе данных, но не сервер.
Я видел часть каждого за эти годы, и безусловно лучшие результаты появились, когда у разработчиков есть полный доступ. Конечно, все изменения должны все еще документироваться и фиксироваться в управлении версиями и тестироваться в системе тестирования перед развертыванием и всем это. Выплата в разрешении разработчикам в рабочие серверы - когда вещи идут не так, как надо. Разработчики - те, кто видит через проблему самое быстрое. В ситуациях с тяжелыми ограничениями я видел, что критические короткие исправления ошибок занимают дни для развертывания.
У меня есть полный доступ к каждому рабочему серверу мои здания компании. Но мы - чрезвычайно небольшая компания, и я делаю большую работу системного администратора, а также всю техническую разработку.
У меня есть полный доступ к большинству наших производственных систем. Существует много проблем, которые легче для меня решить, чем для IT. Хотя обычно я не вношу изменение в производство, если не абсолютно необходимо. Если я действительно вношу изменение, я говорю нашим администраторам, таким образом, они могут сделать примечание его. Мы попытались делать его с ограниченным доступом, но я работаю частью действительно малочисленной команды, таким образом, это не опция. Прямо сейчас, если бы мы только предоставили администраторский доступ, то 2 человека должны были бы покрыть производственные проблемы. Это трудно с расписанием по вызову.