You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
we're creating more types of data structures that act as global identifiers across the project. ServiceId, CommandId, and others need to be globally unique, so we auto-prefix them with the module path in order to guarantee uniqueness and also give log messages useful metadata that shows authors the path to the definition of a given id.
Elon pointed out that using the full module path typically includes the private module file, which makes things fragile when we move the implementation across private files. We decided the prefix should probably be the path to the nearest public package where this id object is exposed. this allows us to move the class without breaking things like serialized json that might include these id objects. it's reasonable to expect things to break when we move an id class between public packages, but that matches the expectation of any other public api change.
so instead of ServiceId("rats.pipelines._something:some-service"), we want the prefixing to be something along the lines of ServiceId("rats.pipelines:Something.some-service").
The text was updated successfully, but these errors were encountered:
we're creating more types of data structures that act as global identifiers across the project.
ServiceId
,CommandId
, and others need to be globally unique, so we auto-prefix them with the module path in order to guarantee uniqueness and also give log messages useful metadata that shows authors the path to the definition of a given id.Elon pointed out that using the full module path typically includes the private module file, which makes things fragile when we move the implementation across private files. We decided the prefix should probably be the path to the nearest public package where this id object is exposed. this allows us to move the class without breaking things like serialized json that might include these id objects. it's reasonable to expect things to break when we move an id class between public packages, but that matches the expectation of any other public api change.
so instead of
ServiceId("rats.pipelines._something:some-service")
, we want the prefixing to be something along the lines ofServiceId("rats.pipelines:Something.some-service")
.The text was updated successfully, but these errors were encountered: