← Back to team overview

kicad-developers team 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

Follow ups