Move Sobek entirely out of the business logic #1064
Labels
epic
productivity
Issues and PRs that improve our productivity
refactor
stability
runtime stability improvements
What?
Move Sobek entirely out of the business logic.
Why?
Desobekifying Sobek transformation
Besides moving the calling of Sobek option parsing in the business logic, we also plan to move the Sobek-dependent option parsing part out of the business logic. Once we finish doing the same with the rest of the option parsing, we can entirely remove the Sobek dependency from the business logic.
We currently parse Sobek values into our business logic types, but the parsing dependency is in an unrelated package (common). To enhance maintainability, we move the parsing process and keep related components together (in the mapping layer). Additionally, we could implement a
Validate
method for the business types (in the common package) to check their validity separately from the Sobek transformation.Moreover, we use pointers quite liberally, which is not good in terms of reduced performance and also because of many nil-pointer panics. Also, since our module is highly current, it's dangerous to have so many pointers around. So, another goal would be to get rid of as many pointer-ed options as possible to boost stability even more.
See #1510 for an example.
Tasks
Tasks
ElementHandle
methods #1272Frame
methods #1271Page
methods #1273Locator
methods #1274Mouse
methods #1525BrowserContext
methods #1270NetworkManager.ExtraHTTPHeaders
that returns asobek.Value
#1282Keyboard
option parsing out ofcommon
#1522Browser
methods #1269Request
methods #1275Keyboard
methods #1277Connection.Close
method? #1281Related PR(s)/Issue(s)
#271
The text was updated successfully, but these errors were encountered: