Using ASDoc - Part 1
January 5, 2007 by Eashwar Natarajan
AS Commenting Guidelines
As for our current project requirements, I have been fiddling around with ASDOCs. Trying to get it working and implemented into our project and after almost a few days of fighting with it. Here’s what I have
. Apart from setting up the ASDocs, the developer’s are required to follow a specific commenting/coding pattern to take full advantage of ASDocs. Though ASDocs is still in its pre-beta stages, i think its pretty good to implement in any live project. Here, I am going to first take you step by step through the commenting patterns used by ASDocs. In my next post, I shall explain how to setup ASDocs to work with the Flex Builder. I’ll try to have a sample implementation ready with code snippets :).
1. Typical Class Comment
/** * First sentence of a multi-paragraph main description. * <p>Second paragraph of the description.</p> * @author "name" */
2. Standard Function comment
/**
* Typical format of a simple multiline documentation
* comment. This text describes the myFunction
* function, which is declared below.
* @langversion ActionScript 3.0
* @playerversion Flash 8
*
* @param param1 Describe param1 here.
* @param param2 Describe param2 here.
*
* @see someOtherFunction
*/
public function myFunction(param1:String,
param2:Number):void {}
PS: Only public function comments are included by AsDocs.
3. Getter Setter Property - Takes the comment of the getter/setter function to be the comment of the property. Marks “readonly” if getter method alone is present and “read-write” if getter and setter are implemented.
4. MetaData Tags - When Events are defined, comments are be added before the Event Tag. For Example
/** * login event is dispatched after the login button * is pressed. * @eventType mx.events.DynamicEvent */ [Event(name="login",type="mx.events.DynamicEvent")]
For another example see propertySheet.as
5. @see, @example Tag - @see adds a “See Also ” text and indicates the related method to look in to. This tag can be used in class, method comments. @example Tag adds an example usage to a class/ method comment.
/** * Conforms to Singleton Design Pattern. * @author Eashwar N * @see http://en.wikipedia.org/wiki/Singleton_pattern * @example The following code gets the value of DeviceTime * <listing version="3.0" > * CurrentDeviceTimeHolder.getInstance() .DeviceTime * </listing> */
7. To copy a comment from the base class method @inheritDoc tag can be used. In case there is no such relation @copy Tag can be used.
8. It can render a variety of html tags - <div>,<span>,<listing>,<img>,<table>
Note: Comments inside // and /**/ are ignored by the AsDoc.



Make peace, not war!