Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I notice that a property of codebases that I like hacking on is that it's quick to find the relevant code for some feature, without knowing much about the code base at all. For example, searching for a label in the GUI, and immediately hitting the code that implements that feature.

This seems to be in direct tension with abstraction layers, where the label is probably buried behind an I18N module, and the business logic is probably further removed in an MVC framework. (It can be mitigated by including GUI labels in comments though, for example.)

It's obviously part of maintainability, but is there a name for this specific, desirable, property?

share|improve this question

closed as off-topic by gnat, MichaelT, Bart van Ingen Schenau, Dan Pichelman, Robert Harvey Nov 21 '13 at 22:40

  • This question does not appear to be about software development within the scope defined in the help center.
If this question can be reworded to fit the rules in the help center, please edit the question.

Maybe "transparency"? – Greg Hewgill Apr 19 '13 at 2:49
"Well-organized"? – 9000 Apr 19 '13 at 3:09
I don't think it's a question of organisation. Highly abstracted designs can be well organised, but not very searchable or easy to read. – Steve Bennett Apr 19 '13 at 7:09
This is a great question. – LachlanB Apr 20 '13 at 8:18
"What is the name of this thing" questions are off-topic. These are poor questions for the same reasons that "identify this obscure TV show, film or book by its characters or story" are bad questions: you can't Google them, they aren't practical in any way, they don't help anyone else, and allowing them opens the door for the asking of other types of marginal questions. See Also Let's Play the Guessing Game – gnat Nov 21 '13 at 0:59

Discoverability or learnability could be applied to this concept. But note that making something discoverable might be optimizing it for first time users. Look here for a related discussion.

share|improve this answer
Yeah, interesting point re: first time users. I think with the enormous amount of code readily available these days, that's a much more important consideration than it used to be. (ie, I have to interact with much more unfamiliar code than I used to.) – Steve Bennett Apr 22 '13 at 4:00

Although I do not believe that there is a word specifically for this concept, the ease of use of these codebases can often be attributed to several causes, all of which have terms:

  • Well-documented - Which includes comments, external documentation, internal parsable documentation (like JavaDocs), and indicative variable names.
  • Well-organized - Shows design and planning
  • Readable - Besides resulting from the other two, this can be an intentional design choice of certain programming languages, such as Python, who make it a core "pillar" of their design ideology.
share|improve this answer

Not the answer you're looking for? Browse other questions tagged or ask your own question.