Mentre comincio a codificare sempre di più, ad esempio in C ++, tendo anche a voler saperne di più sugli standard accettati per il codice.
Sto provando a codificare un motore di scacchi in questo momento, ma non sono sicuro di come trattare ciascun "modulo" del programma (che è separato in file diversi).
Ad esempio, ha senso creare una classe per bitboard come bitboard.h
e bitboard.cpp
, in quanto potrebbe essere richiesta in seguito. Ma non ha senso avere una classe per il generatore di movimento, perché non avrò mai bisogno di più di un generatore di movimento.
Ma voglio ancora rispettare il principio di minimum privilege e non dare agli utenti l'accesso a più funzioni del necessario. Ma non sono sicuro che tu possa farlo senza una lezione? Ho esaminato namespace
, ma non sono sicuro di come si applicherebbe in questo caso.
In che modo i programmatori professionisti gestiscono questo genere di cose? Ho esaminato la fonte del Stockfish motore di scacchi open source, e ha sia file di intestazione che file cpp, ma i file di intestazione sembrano semplicemente avere un sacco di variabili.