Take the 2-minute tour ×
English Language & Usage Stack Exchange is a question and answer site for linguists, etymologists, and serious English language enthusiasts. It's 100% free, no registration required.

As someone whose mother tongue is not English, I'm sometimes having a hard time having the correct feeling towards the meaning of some words. This is one of those situations.

I'm looking for a term that refers to how an API (an application programming interface) is designed. For example imagine a piece of text with such statements:

  • For every *_new function, there is a *_delete function.
  • All functions creating shared objects take a name parameter as the first argument.
  • All int *error arguments used for returning error code are optional and come last in the argument list.

How do you refer to the text containing these statements? For example, is it the style definition of the API? Are these the conventions of the API?

share|improve this question
    
Naming conventions for identifiers sounds good. –  tchrist Mar 21 '13 at 15:35
    
@tchrist, I have seen naming conventions before, it's quite common. This is a bit different though. For example the fact that "the error argument comes last and is optional" isn't really a "naming" convention. –  Shahbaz Mar 21 '13 at 15:43
    
Possibly too-localized for ELU. Have you already asked on SO? –  Kris Mar 22 '13 at 7:03
    
@Kris, I'm active on SO myself, but I have never seen such questions there. I'm getting more meaningful answers here though, for example an answer such as Jim's would probably not show up in SO. –  Shahbaz Mar 22 '13 at 13:54

2 Answers 2

up vote 2 down vote accepted

You might be looking for design template or design pattern.

Design patterns are not frequently associated with interfaces, but the term does come up, as with the "facade design pattern".

From wikipedia:

A facade is an object that provides a simplified interface to a larger body of code, such as a class library.

Simplification comes from creating reusable and familiar patterns that meet the necessary functional requirements.

You may like to know that "design patterns" is not localized to just software development. It was codified as an architectural concept by Christopher Alexander, and his ideas were published in "The Timeless Way of Building" in 1979. This book is literally about the architecture of buildings and construction, but lays a foundation for applying the concept to other fields of design.

Incidently, while on the subject of architecture, the word archetype, comes to mind as well (although the words are not related directly).

Archetype: the original pattern or model of which all things of the same type are representations or copies

But I don't think you will see "archetype" used as frequently in this case.

share|improve this answer
    
I think this answer is genuinely wrong. A design pattern is an abstraction, by intention independent of implementation details such as code orthography. What the OP is describing is a concrete and specific set of low-level rules. These are, as moonstar2001 states, coding standards or coding conventions. –  walkytalky Oct 28 at 11:12

They are referred to as "Coding standards" in the software engineering world.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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