Skip to content.

Manageability

Sections
Personal tools
You are here: Home » blog » stuff » Microsoft's Standardized Verb Set

Microsoft's Standardized Verb Set

Document Actions

A long time ago I wrote about about "Speech Acts, REST and Method Classification". I was interested in the different ways that people had classified verbs. I've always had this opinion that we as developers tend make thing more complex by reinventing new verbs that mean the same thing as previously defined ones. We simply can't get rid of that habit. I mean, we can easily undertand why we need a common noun set when we build applications, however we just don't grok why we need a standard verb set.

Do you know why we need a standard verb set? The answer is simple, we need it for composability. A by product of composability is interoperability, Roy Fielding showed this in his ReST architectural style. That is, you only need four verbs to help you achieve the massively scalable and higly interoperable World Wide Web.

Now Microsoft has finally bought into some religion. For the new Microsoft Shell (aka Monad), they've provided some guidelines on the standardized verb sets and names that one use when defining a command. For reference, here's the set:

Common Object Verbs Definition
Add Add, append or attach an element
Clear Remove all elements of a container
Copy Copy a element to another name or container
Get
Lock
Move Move an element
New Create a new element
Remove Remove an element from a container
Rename Give an element a new name
Set
Unlock

Data Verbs Definition
Checkpoint Create a snapshot of the current state
Compare Compare an element with another and producing the differences
Convert Convert to one encoding to another or one base unit to another
Export Export as set to an interchangeable format
Import Create a set from an interchangeable format
Initialize Prepare an element for use and set its default values
Limit Apply a constraint to an element
Merge Take multiple elements and create a single one
Restore Rollback state to last snapshot
Update Refresh an element from a source

LifeCycle Verbs Definition
Disable Stop and configure to be unavailable
Enable Configure to be availble
Install Settle in an indicated place
Restart Terminate existing activity and start again
Resume Begin activity that was suspended
Start Begin an activity
Stop Cease an activity/td>
Suspend Suspend an activity temporarilly
Uninstall R

Diagnostic Verbs Definition
Debug Interact with an element to understand a flaw
Measure Retrieve statistics about an element
Ping Determine if an element is alive
Resolve Map a short name to an elements reference
Test Verify the validity and correctness of an element
Trace Trace activities performed by a specified operation

Communications Verbs Definition
Send Convey information to an element
Receive Take or acquire from a source
Connect Associate subsequent activities with an element
Disconnect

Very useful if every you find yourself at a loss for words (i.e. a loss of how you should name your methods). The interesting aspect about this set is that 3 out of the five verb sets concerns manageability. One of biggest oversights in developing software is the need to create objects and methods to support in the daily operation of the system. Almost all development methodologies focus myopically on only the functional domain model. Unfortunately, there's more to buiding a usable system than the functional perspective.


Last modified 2004-11-08 10:32 AM

visitors
reading
 
 

Powered by Plone

This site conforms to the following standards: