Code Smell 257 - Name With Collections
Avoid Using the Prefix "Collection" on Properties

TL;DR: Drop "collection" prefix for clarity.
Problems
Redundant Naming
Verbose Code
Reduced Readability
Refactoring Challenges
Coupled to implementation
Solutions
Use Simple Names
Remove 'collection' from the name
Use plural names without the word 'collection'
Context
When you prefix properties with terms like "collection," you introduce redundancy and verbosity into your code.
This makes your code harder to read and maintain and adds unnecessary complexity.
Coupling the name to a collection implementation prevents you from introducing a proxy or middle object to manage the relation.
Sample Code
Wrong
struct Task {
collection_of_subtasks: Vec<Subtask>,
subtasks_collection: Vec<Subtask>,
}
impl Task {
fn add_subtask(&mut self, subtask: Subtask) {
self.collection_of_subtasks.push(subtask);
self.subtasks_collection.push(subtask);
}
}
Right
struct Task {
subtasks: Vec<Subtask>,
}
impl Task {
fn add_subtask(&mut self, subtask: Subtask) {
self.subtasks.push(subtask);
}
}
Detection
[X] Automatic
You can add rules to your linter preventing these redundant names.
Tags
- Naming
Level
[X] Beginner
AI Generation
AI code generators produce this smell if they try to over-describe property names.
They tend to generate overly verbose names to be explicit, which can lead to redundancy.
AI Detection
AI tools can fix this smell if you instruct them to simplify property names. They can refactor your code to use more concise and clear names.
Conclusion
Simplifying property names by removing prefixes like "collection" leads to more readable and maintainable code.
It would be best to focus on clear, direct names that communicate the purpose without redundancy.
Relations
More Info
Disclaimer
Code Smells are my opinion.
Credits
Photo by Karen Vardazaryan on Unsplash
Good design adds value faster than it adds cost.
Thomas C. Gale
This article is part of the CodeSmell Series.
About the author
I’m a senior software engineer loving clean code, and declarative designs. S.O.L.I.D. and agile methodologies fan.
Comments
Join the discussionNo comments yet. Be the first to comment.
Code Smells
In this series, we will see several symptoms and situations that make us doubt the quality of our developments. We will present possible solutions. Most are just clues. They are no hard rules.





