websurfx
websurfx copied to clipboard
:technologist: Clean code for improving readability and stability
What would you like to share?
Work Expected From The Issue
Improve the readability and stability of code by making the following changes listed below:
- Use constant and static data types for values directly used within the code.
For example:
In the code below, the 3.14
value is used directly. So we can move into a constant data type declaration (as shown in the code snippet below the previous one).
fn calculate_area_of_circle(radius: u32) -> f32 {
3.14 * radius * radius
}
const PI: f32 = 3.14;
fn calculate_area_of_circle(radius: u32) -> f32 {
PI * radius * radius
}
-
Use
std::cell::OnceCell
for declaring constant data types by constructing the value once before use. Similarly,std::sync::OnceLock
for declaring mutable static data types by constructing the value once before use. -
Rename functions, structs, enums, etc. according to the Rust convention.
-
Replace
&Option<T>
toOption<&T>
to stabilize the function signatures to reduce introducing breaking changes to the Codebase.
For more information on how making this change can stabilize function signature. See:
https://piped.video/watch?v=6c7pZYP_iIE
Reasoning Behind The Proposed Changes
The reasoning behind the following changes is to improve the readability and stability of code, which can drastically improve developer experience
and avoid unintentional breaking changes.
Do you want to work on this issue?
None
Additional information
No response
The issue has been unlocked and is now ready for dev. If you would like to work on this issue, you can comment to have it assigned to you. You can learn more in our contributing guide https://github.com/neon-mmd/websurfx/blob/rolling/CONTRIBUTING.md
Stale issue message
Stale issue message
To reduce notifications, issues are locked until they are https://github.com/neon-mmd/websurfx/labels/%F0%9F%8F%81%20status%3A%20ready%20for%20dev and to be assigned. You can learn more in our contributing guide https://github.com/neon-mmd/websurfx/blob/rolling/CONTRIBUTING.md