Skip to content

Align C++ naming conventions across form and test/form #831

Description

@coderabbitai

Summary

Align the C++ naming convention across the form/ and test/form/ trees in one coordinated change.

Rationale

The form/ subtree currently uses conventions that differ from the repository-wide C++ guidelines. Examples include camelCase APIs such as hasId and private members without trailing underscores. A partial rename in an individual feature PR would make the subtree less internally consistent.

FORM and the rest of Phlex use different identifier styles:
Phlex:

  • functions / variables: snake_case (add_source, bind_to)
  • private members: trailing , no prefix (config, data_)
  • types: snake_case

FORM:

  • functions / variables: camelCase (registerWrite, fillContainer, setupWrite)
  • private members: m_ prefix (m_hasId, m_tree)
  • types: PascalCase / mixed (Token, ROOT_TFileImp)

Phlex Naming Conventions

Available at CLANG_TIDY_CONFIGURATION.md, and copied below:

Naming Conventions

The configuration enforces consistent naming:

  • Namespaces: lower_case
  • Classes/Structs/Enums: lower_case
  • Functions: lower_case
  • Variables/Parameters: lower_case
  • Private/Protected/Constant Members: lower_case with _ suffix
  • Macros: UPPER_CASE
  • Constants/Enum Values: lower_case
  • Type Aliases/Typedefs: lower_case
  • Template Parameters: CamelCase

Function Complexity Limits

  • Line Threshold: 100 lines per function
  • Statement Threshold: 50 statements per function
  • Branch Threshold: 10 branches per function

Required changes

  • Decide the target naming convention for form/ and test/form/.
  • Rename affected C++ identifiers consistently across both trees.
  • Update declarations, definitions, call sites, tests, and related documentation.
  • Preserve behavior and public API compatibility requirements as decided by the maintainers.

Affected areas

  • form/
  • test/form/

Acceptance criteria

  • The selected convention is documented or otherwise agreed by the team.
  • All affected identifiers in form/ and test/form/ follow the selected convention consistently.
  • Builds and tests that cover the affected code pass.
  • No isolated naming exceptions remain solely because of the prior convention.

Backlinks

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions