Rust: Jangan terapkan snake_case untuk nama biner

Dibuat pada 9 Okt 2017  ·  3Komentar  ·  Sumber: rust-lang/rust

Saat ini, jika Anda memiliki Cargo.toml seperti ini:

[package]
name = "some_package"
version = "0.0.0"

[[bin]]
name = "somePackage"
path = "src/main.rs"

rustc akan mengeluh:

warning: crate `somePackage` should have a snake case name such as `some_package`
  |
  = note: #[warn(non_snake_case)] on by default

Saya mengerti mengapa ini masuk akal untuk peti perpustakaan, untuk menegakkan konvensi penamaan umum untuk perpustakaan karat dan kode sumber. Tetapi tidak masuk akal untuk menerapkan ini untuk binari juga, karena tidak ada keuntungan nyata untuk melakukannya (perhatikan bahwa nama peti bukan camelCase, hanya nama binernya).


$ rustc --version
rustc 1.22.0-nightly (05f8ddc46 2017-10-07)
A-lint C-feature-request

Komentar yang paling membantu

Kebijakan harus berlaku untuk file yang dapat dieksekusi dan cdylib.

Akan sangat bagus juga jika Anda dapat mematikan #[warn(non_snake_case)] hanya untuk nama peti. Jika saya menggunakan #![allow(non_snake_case)] di tingkat atas, itu menonaktifkan lint untuk seluruh peti saya.

Semua 3 komentar

Saya benar-benar telah menggali yang satu ini dan akan dengan senang hati menerimanya, jika tim Rust setuju itu harus terjadi.

Saat ini, membangun biner melewati [[bin]]::name sebagai argumen --crate-name . Saya sudah memikirkan dua cara untuk mengatasi ini.

  1. Jangan menegakkan aturan snake_case saat membuat biner
  2. Tambahkan flag --bin-name opsional yang dapat digunakan untuk menamai biner yang dihasilkan. Default kembali ke --crate-name . Ini akan membutuhkan koordinasi dengan kargo.

Secara pribadi, saya lebih suka 2.

Kebijakan harus berlaku untuk file yang dapat dieksekusi dan cdylib.

Akan sangat bagus juga jika Anda dapat mematikan #[warn(non_snake_case)] hanya untuk nama peti. Jika saya menggunakan #![allow(non_snake_case)] di tingkat atas, itu menonaktifkan lint untuk seluruh peti saya.

Kebijakan harus berlaku untuk file yang dapat dieksekusi dan cdylib.

Akan sangat bagus juga jika Anda dapat mematikan #[warn(non_snake_case)] hanya untuk nama peti. Jika saya menggunakan #![allow(non_snake_case)] di tingkat atas, itu menonaktifkan lint untuk seluruh peti saya.

Setuju, apakah ada cara untuk menonaktifkan peringatan ini untuk nama peti saat pembuatan kargo?

Apakah halaman ini membantu?
0 / 5 - 0 peringkat