È buona norma avere un file main.c che abbia solo la funzione principale e nessun'altra funzione in modo che tutte le altre funzioni possano essere interfacciate?
Se non esiste una regola definitiva, quando è opportuno farlo e non farlo?
Idealmente, tutto il lavoro che può essere pensato come parte di codice riutilizzabile, dovrebbe essere creato sotto forma di biblioteca . La bilancia funziona, è un'applicazione che dovrebbe essere separata dove risiederà main()
.
Ma main()
da solo non deve stare in isolamento. Funzioni come parse_arguments(argc,argv)
dovrebbero essere insieme a main piuttosto che separate.
Il nostro standard di codifica richiede che main () sia in main.c. Altri metodi in main.c tendono ad essere gestori di errori di alto livello e funzioni di supporto per main (consultare @Dipan answer "parse_arguments", così come "display_help" ecc.
Una buona regola da seguire è quando una funzione inizia a fare di più che supportare l'applicazione in esecuzione e iniziare a fare business logic, è ora che sia fuori main.c
Ci sono due regole pratiche:
Implementare uno standard di codifica che affermi che main () dovrebbe sempre trovarsi in un file chiamato main.c è una pratica buona e comune. Questo file, così come main () stesso, non dovrebbe contenere clutter inutili.
Idealmente main () e main.c dovrebbero contenere solo i seguenti
Un punto di ingresso pulito in un file separato rende il flusso del codice facilmente comprensibile e mantenuto. Ho sempre avuto questa abitudine di mantenere una funzione main () molto piccola e concisa in un file diverso da cui in poi posso tracciare i passaggi del programma. Solo per motivi di pulizia è bene tenerlo separato.
Leggi altre domande sui tag c modules code-organization file-structure