On Thu, Dec 9, 2010 at 3:50 AM, Ecthelion <[email protected]> wrote:
> Brilliant. But that essentially means that I cannot be 100% sure that
> my changes would not cause undesired side effects.

You can't be 100% sure of anything with a third-party library.

How do you ensure that you are passing the proper parameters to
methods? Testing.

How do you ensure that you are covering all RuntimeExceptions the
library might throw? Testing.

How do you ensure that the third-party library handles edge cases
(e.g., WiFi failing over to 3G)? Testing.

And so on.

Resources are, in effect, part of the public API, just like method
parameters and exceptions.

Now, don't get me wrong -- I agree with the general sentiment that the
String.format()/string resource stuff should be a warning, not an
error.

However, modifying resources, particularly string resources, is an
important part of the reuse of an Android library project. No
developer should say "well, we have to live with a messy translation
of this string, because they did not use indexed substitutions, and so
we have to keep everything in the same order, even if that makes no
sense in such-and-so language".

If the developer of a library failed to use indexed substitutions, and
they somehow rely upon the implicit ordering, that is a bug in the
library, plain and simple. Like any other bug in the library, reusers
find out about it via testing, plain and simple.

-- 
Mark Murphy (a Commons Guy)
http://commonsware.com | http://github.com/commonsguy
http://commonsware.com/blog | http://twitter.com/commonsguy

_The Busy Coder's Guide to *Advanced* Android Development_ Version 1.9
Available!

-- 
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en

Reply via email to