2016-07-09 31 views

risposta

26

Cargo, il gestore ufficiale pacchetto per Rust, defines some conventions regarding the layout of a Rust crate:

. 
├── Cargo.lock 
├── Cargo.toml 
├── benches 
│ └── large-input.rs 
├── examples 
│ └── simple.rs 
├── src 
│ ├── bin 
│ │ └── another_executable.rs 
│ ├── lib.rs 
│ └── main.rs 
└── tests 
    └── some-integration-tests.rs 
  • Cargo.toml e Cargo.lock sono memorizzati nella root del vostro progetto.
  • Il codice sorgente va nella directory src.
  • Il file di libreria predefinito è src/lib.rs.
  • Il file eseguibile predefinito è src/main.rs.
  • Altri file eseguibili possono essere inseriti in src/bin/*.rs.
  • I test di integrazione vanno nella directory tests (i test delle unità vanno in ogni file che stanno testando).
  • I file eseguibili di esempio vanno nella directory examples.
  • I parametri di riferimento vanno nella directory benches.

Queste sono spiegate in dettaglio nello manifest description.

Seguendo questo layout standard, sarete in grado di utilizzare i comandi di Cargo per creare, eseguire e testare facilmente il vostro progetto. Eseguire cargo new per impostare un nuovo progetto di libreria o cargo new --bin per impostare un nuovo progetto eseguibile.

Inoltre, la documentazione per le librerie viene spesso scritta nei commenti della documentazione (commenti che iniziano con /// prima di qualsiasi elemento o //! per documentare l'elemento principale). Inoltre, la licenza viene solitamente inserita nella radice.

I test di unità, come menzionato sopra, sono scritti nello stesso modulo delle funzioni che stanno testando. Di solito, sono messi in un modulo interno. Sembra che questo (questo è ciò che Cargo genera per una nuova libreria con cargo new):

#[cfg(test)] 
mod tests { 
    #[test] 
    fn it_works() { 
    } 
} 
+0

Grazie! Pensavo che ci sarebbe stato dell'altro, in qualche modo, ma hai coperto tutto quello che ho chiesto. – jolson

Problemi correlati