Conventions
The following recommendations are based on 2024 Move.
Add section titles
Use titles in code comments to create sections for your Move code files. Structure your titles using === on either side of the title.
module conventions::comments {
// === Imports ===
// === Errors ===
// === Constants ===
// === Structs ===
// === Method Aliases ===
// === Public-Mutative Functions ===
// === Public-View Functions ===
// === Admin Functions ===
// === Public-Package Functions ===
// === Private Functions ===
// === Test Functions ===
}
CRUD functions names
These are the available CRUD functions:
add: Adds a value.new: Creates an object.drop: Drops a struct.empty: Creates a struct.remove: Removes a value.exists_: Checks if a key exists.contains: Checks if a collection contains a value.destroy_empty: Destroys an object or data structure that has values with the drop ability.to_object_name: Transforms an Object X to Object Y.from_object_name: Transforms an Object Y to Object X.property_name: Returns an immutable reference or a copy.property_name_mut: Returns a mutable reference.
Potato structs
Do not use 'potato' in the name of structs. The lack of abilities define it as a potato pattern.
module conventions::request {
// ✅ Right
struct Request {}
// ❌ Wrong
struct RequestPotato {}
}