Emily Shaffer <emilyshaffer@xxxxxxxxxx> writes: > Start using a named initializer list for SUBMODULE_UPDATE_CLONE_INIT, as The feature has its own name. Instead of coming up with your own name for it, let's say "designated initializers". > -#define SUBMODULE_UPDATE_CLONE_INIT {0, MODULE_LIST_INIT, 0, \ > - SUBMODULE_UPDATE_STRATEGY_INIT, 0, 0, -1, STRING_LIST_INIT_DUP, 0, 0, \ > - NULL, NULL, NULL, \ > - NULL, 0, 0, 0, NULL, 0, 0, 1} > +#define SUBMODULE_UPDATE_CLONE_INIT { \ > + .list = MODULE_LIST_INIT, \ > + .update = SUBMODULE_UPDATE_STRATEGY_INIT, \ > + .recommend_shallow = -1, \ > + .references = STRING_LIST_INIT_DUP, \ > + .max_jobs = 1 \ > +} This does make it read more easily. If you ended the last field with trailing comma, that would have been even better as a future proofing ;-)