Further to Andrew Walenstein's message:
> Yes, not necessarily. It is certainly reasonable to expect to get some
> sort of useful guidelines out of models.
>
> But I was really arguing a rather more philosophical point about how
> much further away cognitive models are from justifiable design
> requirements or programming guidelines.
The question of how to move from cognitive theory to design
practice has been a major concern of PPIG researchers for quite
a long time, and many people have noticed that a cognitive model
of programming doesn't always provide much design advice.
This is why Thomas Green, with many collaborators since then,
started work on the Cognitive Dimensions of Notations framework,
which was intended to be a distillation of cognitive research
knowledge, made accessible to people designing new tools.
Although the Cognitive Dimensions framework has most often been
applied to complete tools, it has many useful things to say
about the usability problems that may affect coding and
commenting standards. Some obvious ones that come to mind
include a tradeoff between "diffuseness" and "role-expressiveness"
when naming variables. Longer variable names can be highly role
expressive, by giving you lots of information about how this
variable is related to the rest of the program. But longer
variable names make the program more "diffuse" - it takes more
space to express the information, and hence reduces visibility
and comprehension. This kind of observed tradeoff relationship
is typical of the design information that can be expressed using
the framework.
More information about the Cognitive Dimensions of Notations
framework, including a brief introduction, a tutorial for
designers, a usability evaluation questionnaire, a list of active
researchers and a bibliography with links to relevant
publications, can be found at the new Cognitive Dimensions
resource site:
http://www.cl.cam.ac.uk/~afb21/CognitiveDimensions/index.html
In a way, this is related to Eugene Wallingford's comment about
software patterns. The Cognitive Dimensions are like patterns of
usability characteristics that can be applied when analysing the
usability of notation systems.
Alan
--
Alan Blackwell Computer Laboratory, University of Cambridge
http://www.cl.cam.ac.uk/users/afb21/ Phone: +44 (0) 1223 334418