Hi Mathieu,

my suggestion, especially for these kinds of refactoring that affects the
inner parts of the framework is to focus more on clean and simple design
(and code) than over backward compatibility; a cleaner and smaller codebase
is more manageable and will be better maintained by the community.

Thanks for all your efforts!

Jacopo




On Sat, Oct 19, 2019 at 6:32 PM Mathieu Lirzin <mathieu.lir...@nereide.fr>
wrote:

> Hello,
>
> In my recent work on refactoring ‘Container’ and ‘ContainerConfig’
> classes (See trunk) I have chosen (without discussing on ML) to use
> deprecation for stuff that were likely to be used by client code
> implementing additional containers in their plugins.
>
> However I have just discovered that in 2016 some refactoring work chose
> a different approach by simply changing a method signature in the
> ‘ContainerConfig’ interface [1].
>
> Having @Deprecated methods is a tradeoff that provides smoother
> migration path for client code with the cost of cluttering our codebase
> which make things harder to maintain.
>
> So I would like to know what are the general expectations of people
> developing OFBiz plugins in term of backward compatibility and what
> people would recommend as a general guideline regarding “modifying
> public Java interfaces”.
>
> What do people think?
>
> [1]
> https://github.com/apache/ofbiz-framework/commit/d44020f0d6b2af4c049722751e4586a3ae5b2d98#diff-af4722454ae770d57420936da9bd4e29L55-R56
>
> --
> Mathieu Lirzin
> GPG: F2A3 8D7E EB2B 6640 5761  070D 0ADE E100 9460 4D37
>

Reply via email to