Watch out for plural vs. singular

Katherine Cox-Buday katherine.cox-buday at canonical.com
Thu Mar 19 16:44:41 UTC 2015


I ran into a similar type of issue recently. I discussed very briefly with
John M. and William, and I think a good thing to do would be to hide the
generic RegisterResource method, and only expose methods which take the
interface types. This would convert these types of issues from runtime to
compile-time bugs.

-
Katherine

On Thu, Mar 19, 2015 at 10:48 AM, Nate Finch <nate.finch at canonical.com>
wrote:

> Wayne and I (and Horacio for some of the time) wasted a few days trying to
> figure out a problem with the watcher we'd created.  Turns out, the problem
> was a missing 's':
> https://github.com/natefinch/juju/commit/12ad8d64f26aca5541bbd0f0c10cd8b45bcbcc75
>
> Thanks to Dimiter and John Weldon for catching it last night.
>
> The reason the code still compiled is because all the facade caller (rpc)
> stuff uses empty interfaces and reflection to do
> serialization/deserialization.  This is, at some level, unavoidable.
> However, it's sort of our own fault, too, for naming two things so
> similarly in code that we *know* is not type safe.
>
> Please try to avoid making two types with very similar names if they're
> commonly used for serialization, especially if they're long names that only
> differ at the end.  It makes it way too easy for a typo to slip in and
> cause hard to find bugs.
>
> -Nate
>
> --
> Juju-dev mailing list
> Juju-dev at lists.ubuntu.com
> Modify settings or unsubscribe at:
> https://lists.ubuntu.com/mailman/listinfo/juju-dev
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.ubuntu.com/archives/juju-dev/attachments/20150319/45c13e37/attachment.html>


More information about the Juju-dev mailing list