dbos-inc / dbos-transact-py

Ultra-Lightweight Durable Execution in Python
https://docs.dbos.dev
MIT License
244 stars 7 forks source link

Visibility Refactoring #142

Open devhawk opened 16 hours ago

devhawk commented 16 hours ago

Refactors DBOS such that all modules and sub-packages to have underscore prefixes. Only public members are exposed via dbos.__init__.py file. No other types are intended for public consumption.

devhawk commented 15 hours ago

Underscoring all the files is good. But I don't see any consistency to where we underscore variable/class/function names?

My reasoning was:

kraftp commented 15 hours ago

Underscoring all the files is good. But I don't see any consistency to where we underscore variable/class/function names?

My reasoning was:

* underscore prefix all the modules / sub packages. This way, everything that isn't expressly exposed by **init**.py is internal details that should not be messed with

* underscore prefix functions and variables that are not used outside of a specific module. This way, we can tell by the name if the member is expected to be used by other parts of the code base or not. In other words, internal code should _never_ import an underscored item from another module.

* Classes aren't underscore prefixed, even if they aren't used from other modules. Something about underscore prefixed PascalCasing looks odd to me. I can change that if needed

Sure, but what about _assert_current_dbos_context, which is underscored but used everywhere.

devhawk commented 29 minutes ago

Sure, but what about _assert_current_dbos_context, which is underscored but used everywhere.

That would be a mistake that I will fix. _get_local_dbos_context as well