Come rompere queste lunghe linee C ++ in modo pulito? [chiuso]

5

Sono al mio primo progetto C ++ più grande e ho scoperto che ho delle righe molto lunghe. Il mio obiettivo è di romperli a 79 colonne, ma non so davvero come farlo in modo pulito. Ci sono delle linee guida per rompere linee come queste:

VectorHistogram::VectorHistogram(size_t bins, size_t cache) : bins(std::vector<double>(bins)), cache(std::min(cache, MAX_CACHE_ENTRIES)) {

o

VectorHistogram position_histogram {settings.position_hist_bins, settings.time_sites * settings.iterations};

o

MetropolisDriver::MetropolisDriver(Settings settings) : settings(settings), system(HarmonicOscillator {settings.time_step, settings.mass, settings.mu_squared}), trajectory(ListQuantity {settings.time_sites}), ma(MetropolisAlgorithm {trajectory, system, settings.position_seed, settings.accept_seed}) {
    
posta Martin Ueding 08.04.2014 - 17:25
fonte

1 risposta

7

Li spezzerei in modo che ogni riga trasmetta una preoccupazione diversa, come l'invocazione del costruttore della superclasse o un'espressione. Questo potrebbe non essere 79 caratteri, ma con i moderni monitor widescreen ad alta risoluzione è davvero necessario?

Ogni volta che è possibile, lascia che l'IDE formatta per te. Alcuni sono più bravi di altri: ad esempio, ho scoperto che a Eclipse piace rompere le espressioni in posti strani. A volte (raramente) ho bisogno di ricorrere alla formattazione manuale, e cerco di rompere il codice come descritto sopra.

Ad ogni modo, ecco come formattare il codice nella tua domanda:

VectorHistogram::VectorHistogram(size_t bins, size_t cache)
    : bins(std::vector<double>(bins)),
      cache(std::min(cache, MAX_CACHE_ENTRIES)) {

VectorHistogram position_histogram {
  settings.position_hist_bins, settings.time_sites * settings.iterations
};

MetropolisDriver::MetropolisDriver(Settings settings)
    : settings(settings),
      system(HarmonicOscillator {settings.time_step, settings.mass, settings.mu_squared}),
      trajectory(ListQuantity {settings.time_sites}),
      ma(MetropolisAlgorithm {trajectory, system, settings.position_seed, settings.accept_seed}) {
    
risposta data 08.04.2014 - 17:35
fonte

Leggi altre domande sui tag