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

