Names should accurately reflect their purpose, behavior, and semantic meaning to avoid confusion and improve code readability. Avoid misleading names that don't match the actual functionality or content.
Names should accurately reflect their purpose, behavior, and semantic meaning to avoid confusion and improve code readability. Avoid misleading names that don’t match the actual functionality or content.
Key principles:
projectCorrelatedColumns
when called with non-correlated data should be renamed to reflect what it actually does)cached_reader
is misleading when it specifically refers to CachedInMemoryReadBufferFromFile
- use page_cache_reader
instead)column_idx
should be presence_column_idx
if it’s specifically the index of a presence column)storage
or table
instead of tbl
)getHivePart()
should be split into separate methods if it also performs normalization)Example of improvement:
// Before: misleading name
void projectCorrelatedColumns(rhs_plan, ...); // but no correlation involved
// After: accurate name
void projectIdentifierColumns(rhs_plan, ...); // clearly indicates projecting from identifiers
// Before: ambiguous variable
auto * cached_reader = typeid_cast<CachedInMemoryReadBufferFromFile *>(&reader);
// After: specific variable
auto * page_cache_reader = typeid_cast<CachedInMemoryReadBufferFromFile *>(&reader);
This ensures that code is self-documenting and reduces cognitive load when reading and maintaining the codebase.
Enter the URL of a public GitHub repository