Skip to content

[phase 1] Rename all public methods from camelCase to snake_case #658

@aregtech

Description

@aregtech

Important

Refactoring changes should be rebased and merged against this branch:
feature/655-api-modernization-and-refactoring

Summary

Rename all public and protected methods in the AREG SDK framework from camelCase to snake_case to align with the dominant C++ convention (STL, Boost, modern C++ idioms).

Scale

  • 149 public classes across the framework
  • ~1,479 distinct camelCase method names to rename
  • 360 framework source files (176 .hpp + 184 .cpp)
  • 203 example files that call these methods
  • 18 test files that call these methods

Naming rules

Methods

Current New
getByteBuffer() get_byte_buffer()
setSizeUsed() set_size_used()
isShared() is_shared()
canShare() can_share()
invalidate() invalidate() (already lowercase, no change)
requestHelloService() request_hello_service()
responseHelloService() response_hello_service()
serviceConnected() service_connected()
addIfUnique() add_if_unique()

Member variables (private/protected)

Style Convention
Private members snake_case with m_ prefix: m_byte_buffer
Static members snake_case with s_ prefix: s_instance_count

Parameters and local variables

Current New
const String & clientName const String & client_name
uint32_t startAt uint32_t start_at

Work order

Process module by module (same order as namespace issue):

  1. framework/areg/base/ — core types, containers, threading, I/O
  2. framework/areg/component/ — components, proxies, stubs, events
  3. framework/areg/ipc/ — inter-process communication
  4. framework/areg/logging/ — logging framework
  5. framework/areg/persist/ — persistence and configuration
  6. framework/areg/appbase/ — application base
  7. framework/areg/system/ — system utilities

After framework is done:
8. examples/ — all 29 example projects
9. tests/units/ — all unit tests

Depends on

  • Can be done simultaneously with the namespace and prefix issues, or immediately after.
  • If done simultaneously, each module PR includes namespace + prefix + snake_case changes together (recommended to minimize churn).

Acceptance criteria

  • No camelCase method names remain in the public API
  • All method names follow snake_case convention
  • Member variables use m_ prefix with snake_case
  • All examples compile and run correctly
  • All unit tests compile and pass
  • Code generator output (if applicable) uses new naming

Metadata

Metadata

Assignees

No one assigned

    Projects

    Status

    No status

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions