Нашли или выдавили из себя код, который нельзя назвать нормальным,
на который без улыбки не взглянешь?
Не торопитесь его удалять или рефакторить, — запостите его на
говнокод.ру, посмеёмся вместе!
причем тут джава? что человек типа сеттеры и геттеры налепил?
да, это болезнь
я не знаю свифта, то в ObjC для этого было @property.
наверняка в свифте еще проще
Вообще говоря геттеры и сеттеры вручную нигде уже не надо писать
ни в C# (там есть пропертис) ни в котлине (там они сами создаются)
и только в жабке нужно добывать уголек
С другой стороны класс с таким количеством полей которые можно установить и прочитать пахнет говном
как минимум адрес и имя нужно вынести в отдельные структуры
Ни AppCode ни Xcode не генерит сеттеры и геттеры.
В свифте var и есть @property.
А приведенный выше говнокод сокращается до
struct UserAddress {
let ID: Int32
let stateID: Int32
let eavObjectID: Int32
let firstName: String
let lastName: String
let companyName: String
let address: String
let address2: String
let city: String
let stateName: String
let postalCode: String
let countryID: String
let phone: String
}
Получаем иммутебльную структуру, для мутабельности let заменить на var, для того, чтобы поля не инициализировать в init, типы сделать Optional и так же let заменить на var
> причем тут джава? что человек типа сеттеры и геттеры налепил?
Это только в жабе модно все поля заворачивать в аксессоры - авось в них нужно будет делать какое-то нестандартное поведение. Ведь потом, если понадобится, будет так сложно заменить поле на геттер или сеттер. Естественно, эти авось случаются в 0.1% случаев. Зато индусы в восторге - вместо 10 строк можно налепить 100.
> Это только в жабе модно все поля заворачивать в аксессоры - авось в них нужно будет делать какое-то нестандартное поведение.
Очень давно этого (нестандартное поведение в аксессоре) не видел, к слову.
Современные разрабы набожно верят что аксессоры должны быть тривиальным возвратом/присвоением.
Это как бы и правильно, и логично, но только вопрос возникает: на кой хер тогда этот аксессор вообще нужен? Я понимаю в крестах с местными граблями двоичной совместимости - но в какой жабе?...
да, это болезнь
я не знаю свифта, то в ObjC для этого было @property.
наверняка в свифте еще проще
Вообще говоря геттеры и сеттеры вручную нигде уже не надо писать
ни в C# (там есть пропертис) ни в котлине (там они сами создаются)
и только в жабке нужно добывать уголек
С другой стороны класс с таким количеством полей которые можно установить и прочитать пахнет говном
как минимум адрес и имя нужно вынести в отдельные структуры
var id: Int { set {} get {} }
причём даже просто var id: Int - это уже проперти
В свифте var и есть @property.
А приведенный выше говнокод сокращается до
Получаем иммутебльную структуру, для мутабельности let заменить на var, для того, чтобы поля не инициализировать в init, типы сделать Optional и так же let заменить на var
понял про let. Вот откуда это в котлине
Врядли оттуда 🙂
Из ML, видимо.
Это только в жабе модно все поля заворачивать в аксессоры - авось в них нужно будет делать какое-то нестандартное поведение. Ведь потом, если понадобится, будет так сложно заменить поле на геттер или сеттер. Естественно, эти авось случаются в 0.1% случаев. Зато индусы в восторге - вместо 10 строк можно налепить 100.
дел не только в поведении
еще нужно уметь туда брекпоинт ставить
Очень давно этого (нестандартное поведение в аксессоре) не видел, к слову.
Современные разрабы набожно верят что аксессоры должны быть тривиальным возвратом/присвоением.
Это как бы и правильно, и логично, но только вопрос возникает: на кой хер тогда этот аксессор вообще нужен? Я понимаю в крестах с местными граблями двоичной совместимости - но в какой жабе?...