Я не специалист по программированию C, и я знаю, что исходный файл .c
из другого считается плохой практикой, но у меня есть ситуация, когда я думаю, что это может помочь в ремонтопригодности.
У меня большая структура с большим количеством элементов, и я использую #define
для хранения индексов.
#define TOTO_IND 0
#define TITI_IND 1
…
#define TATA_IND 50
static const MyElements elems [] = {
{"TOTO", 18, "French"},
{"TITI", 27, "English"},
...,
{"TATA", 45, "Spanish"}
}
Поскольку мне нужно получить доступ к структуре из индекса, мне нужно сохранить #define
и объявление структуры синхронизированным. Это означает, что я должен вставить новые элементы в нужное место и соответственно обновить #define
.
Это склонность к ошибкам, и мне это не нравится (но для оценки производительности я не нашел лучшего решения).
Во всяком случае, этот файл также содержит множество функций для обработки этой структуры. Я также хочу сохранить разделение кода и избежать глобальных переменных.
Чтобы сделать вещи "более легкими", я думал о переносе этого "определения подверженности ошибкам" в один .c
исходный файл, который будет содержать только эту структуру. Этот файл будет "опасным быть осторожным" и включить его в мой фактический "нормальный функциональный" файл.
Что вы думаете об этом? Это допустимая ситуация для включения .c
исходного файла? Есть ли еще лучший способ обработки моей структуры?