У меня есть такая структура:
(defstruct file
(name "")
(path "")
(allow-groups nil)
(allow-users nil)
(deny-users nil))
Для каждого поля, кроме name, нужно прописать геттер и сеттер. Как лучше всего сделать их, если число параметров в дальнейшем может увеличиться?
У меня есть два варианта:
1. Для каждого прописывать что-то типа get-file-allow-groups и set-file-allow-groups, в результате получится 8 функций. При увеличении числа полей структуры прописывание для каждого геттера/сеттера может стать мозгоебством большой проблемой.
2. Одна мега-функция, принимающая параметр типа :allow-groups или :deny-users, который указывает поле для работы. Но мне кажется, это будет просто одна _большая_ функция вместо нескольких маленьких, как в 1 случае.
Какие есть более грамотные варианты в данной ситуации?