-
Notifications
You must be signed in to change notification settings - Fork 130
Open
Labels
enhancementNew feature or requestNew feature or requestgood first issueGood for newcomersGood for newcomershelp wantedExtra attention is neededExtra attention is neededrefactoring
Description
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):
framework/areg/base/— core types, containers, threading, I/Oframework/areg/component/— components, proxies, stubs, eventsframework/areg/ipc/— inter-process communicationframework/areg/logging/— logging frameworkframework/areg/persist/— persistence and configurationframework/areg/appbase/— application baseframework/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
camelCasemethod names remain in the public API - All method names follow
snake_caseconvention - Member variables use
m_prefix withsnake_case - All examples compile and run correctly
- All unit tests compile and pass
- Code generator output (if applicable) uses new naming
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or requestgood first issueGood for newcomersGood for newcomershelp wantedExtra attention is neededExtra attention is neededrefactoring
Projects
Status
No status