kicad-developers team mailing list archive
Mailing list archive
Re: Concerns about clearing disagreements before committing.
Dick and all,
At Thursday 24 of November 2011 21:38:25 from Dick Hollenbeck:
> I committed. I need band-aids and vodka now.
Bzr roll-back feature is better than 1000 words, isn't it? ;)
> Vladimir, let's break out the vodka, and talk soon.
Break out the table-glasses!
> I go work now on the proposed plan. Others can hopefully fix bugs, and
> unrelated features.
I'm working on concept I proposed before.
Here's the (slightly corrected) cut from original msg, which is happen to be
drowned in texts:
I've had some to meditate on a problem, so I've found some ideas. Altough the
metod with 'cathing' class remains, there are some essential changes, and
that's the new plan:
1. Before, I avoided uncontrolled implicit conversions between ints and
lengths, which are object to trace. Now, I found, that at this stage I could
write cast methods (LENGTH(int) and operator int()), which automatically call
comversion between new and old units. So, while code wasn't completely
checked, old and new units can live together, without explicit conversion.
2. Make VECTOR_PCB type direct replacement to wxPoint, so conversion to
wxPoint should be just like with int.
3. Then come 'revert' will be done, so code would look as before, without
FROM/TO_LEGACY_LU, and should compile and run correctly, and that's the proof
that class LENGTH designed correctly.
3. And after all there only need to rewrite some 'problematic' code, e. g.
dealing with references (int&), and add explicit conversions where they're
need principally (mainly IO, GUI).
4. Then conversion is seem to be done, there should be no implicit conversions
anymore, so if I switch of them, code should still compile and work correctly
(if it doesn't, it's just need to iterate through step 3).
So after all LENGTH_PCB type can obviously be switched to int, and again, all
should work, and then work is done.
While in process, the advantages of LENGTH class should remain, so wrong
conversions and overflows are catchable.
I also think all the length framework can be kept after switched off, so
developer if he suspect overflow and/or dimension problems may turn it on in
debug process to dispel his doubts.
> Testing branch is back on the track I hope.
--- KeyFP: DC07 D4C3 BB33 E596 CF5E CEF9 D4E3 B618 65BA 2B61