Naming Conventions

All names in this project should adhere to the guidelines outlined in this document.

Rust Code

TL;DR: do what Rust's builtin warnings and clippy lints tell you (and CI will fail if there are any unresolved warnings or clippy lints).

Overview

  • All variable names, function names, module names, and macros in Rust code should follow typical snake_case conventions.

  • All Rust types, traits, structs, and enum variants must follow UpperCamelCase.

  • Static and constant variables should be written in SCREAMING_SNAKE_CASE. s

For more in-depth Rust conventions, see the Rust Style Guide.

Examples:

#![allow(unused)] fn main() { fn sync15_passwords_get_all() struct PushConfiguration{...} const COMMON_SQL }

Swift Code

Overview

  • Names of types and protocols are UpperCamelCase.

  • All other uses are lowerCamelCase.

For more in-depth Swift conventions, check out the Swift API Design Guidelines.

Examples:

enum CheckChildren{...} func checkTree() public var syncKey: String

Kotlin Code

If a source file contains only a top-level class, the source file should reflect the case-sensitive name of the class plus the .kt extension. Otherwise, if the source contains multiple top-level declarations, choose a name that describes the contents of the file, apply UpperCamelCase and append .kt extension.

Overview

  • Names of packages are always lower case and do not include underscores. Using multi-word names should be avoided. However, if used, they should be concatenated or use lowerCamelCase.

  • Names of classes and objects use UpperCamelCase.

  • Names of functions, properties, and local variables use lowerCamelCase.

For more in-depth Kotlin Conventions, see the Kotlin Style Guide.

Examples:

//FooBar.kt class FooBar{...} fun fromJSONString() package mozilla.appservices.places