Proposed platform assumption changes

Nico Williams nico at cryptonector.com
Wed Feb 1 12:47:29 EST 2012


On Wed, Feb 1, 2012 at 11:28 AM, Sam Hartman <hartmans at mit.edu> wrote:
> I use cscope, but never find that I want to find all the possible values
> for a vtable, so I don't run into Nico's use case.

So when you see foo->ops->bar(...) in an unfamiliar code base and you
want to find your way through that ops vector to a 'bar()' of
interest, how do you do it?  Without designated initializers I find
I've to resort to lexically correlate struct initializers to struct
definitions, and I do that without any assistance from any software.
It usually helps that function names roughly correspond to struct
field names.

> I also don't use cscope with krb5 that much as I know the code quite
> well and for most of the ops tables know what the possible functions
> are.

When it comes to MIT krb5 I generally know where to look for, say,
ccache store functions.  It's still more obnoxious than the cscope way
if we had designated initiatlizers.  But think of newcomers.  Surely
newbies should have an easier time finding their way around this code
base, and would if we had designated initializers.

A good source code base is a pleasure to read not just to its
maintainers and active developers, but also to outsiders.

Nico
--


More information about the krbdev mailing list