Client API pedantism

Robert Ancell robert.ancell at canonical.com
Mon Apr 8 05:30:48 UTC 2013


On 08/04/13 15:16, Daniel van Vugt wrote:
> Hi all...
>
> It's nice that the Mir client API uses a common pattern that many C
> developers will find familiar:
>
>   namespace_class_method(NamespaceClass *x, ...);
>
> I like it. Just be careful about breaking the pattern. For example:
>
>   mir_surface_create(MirConnection *connection, ...);
>
> Arguably, this should instead be something like:
>
>   mir_connection_createsurface(MirConnection *connection, ...);
>
> Because you're not operating on a surface (mir_surface_whatever) until
> the surface exists.
>
> I'm not sure I'd go as far as proposing a change to the above function
> any time soon. But it's worth keeping consistency in mind for future
> API additions.
>
> - Daniel
>

I agree we should be using namespace_class_method for names. Another one
that breaks this is:

int mir_debug_surface_id(MirSurface *surface);

Which I would expect to be:

int mir_surface_get_debug_id(MirSurface *surface);

I say it's not something that needs to fixed immediately, but can be
migrated over before 1.0.

--Robert



More information about the Mir-devel mailing list