i think you're right.. i just need to sit down and walk myself through it with this codebase.. since i am the maintainer of the codebase in question (although i did not write it), i really want to address this issue correctly, and not cut any corners..

thanks!


On Tue, Feb 11, 2014 at 11:20 AM, Sean P. DeNigris <sean@clipperadams.com> wrote:
sergio_101 wrote
> i am currenty develop an app in seaside, and am wondering about best
> practices when using external packages.

I've found the easiest and most flexible approach is two-fold:
- Refactor the underlying library with the hooks and abstractions you need
- And then, subclass

If you just override and monkey-patch, I feel you are more vulnerable to the
library changing underneath you, as well is potentially making your code
harder to understand. If you can make the library designed to use it the way
you want, you will reduce duplication and the chance of someone else coming
in and doing it in an incompatible way, as well as give the library
maintainers an idea of what you're doing, so they may consider that in
making non-backward-compatible changes.

Of course, that's ideal and requires library maintainers open to accepting
such changes, but in practice I've found this to be true (with Pharo,
Magritte, BabyMock…)



-----
Cheers,
Sean
--
View this message in context: http://forum.world.st/Using-editing-external-packages-tp4742801p4742832.html
Sent from the Pharo Smalltalk Users mailing list archive at Nabble.com.




--
----
peace,
sergio
photographer, journalist, visionary
#BitMessage BM-2D8VWUJSS41RFKh1ec83preVabHrnniExa

http://www.ThoseOptimizeGuys.com
http://www.CodingForHire.com
http://www.coffee-black.com
http://www.painlessfrugality.com
http://www.twitter.com/sergio_101
http://www.facebook.com/sergio101