6

Been calling them "implementers", but it seems weird to me.

/// <summary>
/// Implementers should implement this.  Derp
/// </summary>
protected abstract void InternalExecute();

A point of clarification, I'm interested in what to call the people who create child classes, not the child classes themselves.

"Hey, you there" not "that thing there."

2
  • Calling them developers seems reasonable no?
    – Chris
    Nov 23, 2010 at 19:44
  • OPs who wrote this question (@Will) might consider marking the MSDN reference to "you" as best answer for this question. Nov 24, 2010 at 6:32

10 Answers 10

8

MSDN class documentation often uses "you" to refer to developers.

When you inherit from WebRequest, you must override the following members...

You do not typically inherit from ButtonBase. To create your own button class, inherit from the Button, CheckBox, or RadioButton class....

You can also simply state what the requirements are for descendent classes. It is implied that developers are your audience.

Classes that inherit IDbConnection must implement all inherited members, and typically define additional members to add provider-specific functionality.

In your example, instead of "Implementers should implement this", write "Descendent classes must override InternalExecute to..." or "In descendent classes, you must override InternalExecute to...".

1
  • EXCELLENT point. I was kind of going with the "you don't need to talk about people" idea, but yeah, this is nice too. Nov 24, 2010 at 6:28
6

I usually say children, child classes or inheritors.

Its not that important; people are going to understand what you mean by Implementers anyway.

6
  • +1 for Children. For me, it makes more sense to read it that way then by referencing the person using the base class
    – Rachel
    Nov 23, 2010 at 16:47
  • Child classes sounds correct to me. Nov 23, 2010 at 16:48
  • hmmm... "Children should implement this." That sounds weird too.
    – Ripped Off
    Nov 23, 2010 at 17:06
  • 2
    "Derived classes" Nov 23, 2010 at 17:08
  • 1
    If your class is 'Window', are children sub-classes of Window or Child Windows? Also, the OP is after a name for the programmer, not the code. Nov 23, 2010 at 18:24
6

Descendants? (need couple more chars)

1
  • I think this is a great term.
    – Dynamic
    Jun 19, 2012 at 15:24
5

subclasses or classes that extend ThisInterfaceor classes that implement InternalExecute

4
  • "Subclasses" is good... I wonder if "Subclassers" is a word, or if I would have to longform it as "Thoe who create subclasses"?
    – Ripped Off
    Nov 23, 2010 at 17:08
  • +1 This is similiar to the Javadoc style, which I find very readable for the most part.
    – Michael K
    Nov 23, 2010 at 17:48
  • @Will, with all due respect, who cares about the people-who-are-creating subclasses? It's much easier to use passive voice and say, "subclasses must do this" rather than "people who write subclasses should do this." People and subclasses are both valid entities. The former doesn't ADD anything to the comments. Nov 24, 2010 at 6:26
  • I retract that, to some extent: I like the answer below, that uses "you." Nov 24, 2010 at 6:34
4

You shouldn't mention the people who code in the doc, but how the base class should be extended, hence, you could call them "implementations"

ie

This base class defines the basic structure of the blah blah blah. Implementations should do XYZ to make it work....

Or

Implementations of this class should also consider...

4
  • Sorry, I'm looking for how to refer to the developers that are extending a base class, not the child classes.
    – Ripped Off
    Nov 23, 2010 at 19:19
  • I have updated the answer, probably now it makes sense.
    – OscarRyz
    Nov 23, 2010 at 21:06
  • I think the word you are looking for is "shouldn't" rather than "don't". Nov 23, 2010 at 21:11
  • @Bruce :P Thank, sometime I wakeup with english mode turned off :-/
    – OscarRyz
    Nov 23, 2010 at 23:07
4

You can call them extenders or subclassers.

2

I typically say child class. When talking about inheritance, implementers would be a little confusing to me because it makes me think that the class is implementing an Interface, which is different from class inheritance.

1
  • I'm talking to the developers, not about what they develop.
    – Ripped Off
    Nov 23, 2010 at 19:19
2

If I had to write documentation speaking directly to a person writing code that extends my base class, I would call them a Developer, End User, or Consumer.

That being said, I think it's generally a bad idea to reference the people using your code in the comments. Comments should state what the code does, not what the developer using it should be doing.

4
  • 1
    Then how do you inform the target audience, developers who are extending your code, about things they should be aware of?
    – Ripped Off
    Nov 23, 2010 at 19:18
  • 1
    @Will--your comments are implicitly aimed at them. I mean, have you ever read code with implementation suggestions in it and NOT assumed it was meant for you?
    – Dan Ray
    Nov 23, 2010 at 19:51
  • 2
    How about: "Descendant classes should implement this. Yes that means YOU."; to stress the point, in case the reader is confused.. :) Nov 23, 2010 at 20:20
  • +1 for your first sentence. Nov 23, 2010 at 23:56
1

I want to offer an out-of-the-box idea: let's delete this comment altogether and then we don't have a problem how to phrase it.

The keyword abstract already says it all: one of the derived classes must implement the method. If that's the intent you want to communicate to the implementors of those derived classes, then you're already using this particular language element appropriately.

2
  • Kinda misses the point. Nov 23, 2010 at 23:57
  • Comedy should marked as community wiki OR be funny. Nov 24, 2010 at 6:36
0

Users

IE, users of the base class.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

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