Closed gitgithan closed 1 year ago
Thank you for filing this issue:
*
, but I find myself using it a lot these days, and wanted to show it in context to help readers become familiar with it.WrappedBlock
etc. as-is, but people complained that was confusing as well. I think the real problem is that I'm deriving classes rather than overwriting old ones (which is what I'd do if I was developing this code for real), so I'm inevitably going to have a lot of similar names for things.
Throughout the files I see numerous appearances of spreading and collecting varargs.
Row takes a comma separated list of inputs and collects into a tuple
children
To use Row, PlacedRow took a comma separated list of inputs, collected it, then immediately spread it just because Row expected a comma separated list of inputs.
Is this really necessary? How about removing all such stars and just letting the api pass/receive iterables directly instead of packing/unpacking repeatedly?
The only place i see a possible issue is
class WrappedRow(PlacedRow):
new_col
is a PlacedCol that becomes(PlacedCol,)
inPlacedRow
's init. However this can easily be fixed withreturn PlacedRow([new_col])
assuming all stars were removed to expect pass/receive of iterables.Side note:
was confusing me for so long until i saw this block (didn't scroll all the up long test file while testing a specific function below) I thought
Block
,Col
,Row
were coming fromeasy_mode.py
instead of the aliased ones fromwrapped.py
. Wish the namings don't clash to ease cognitive load.