Ghost Doc

J’ai découvert l’autre jour un petit utilitaire fort intéressant: Ghost Doc. Il permet de faciliter grandement l’ajout de commentaires "xml" dans le code. Ghost Doc analyse le code à commenter et génère un genre d’esquisse de commentaires et il ne nous reste plus qu’à le finaliser.

Exemple:

Voici une méthode en C# pour aller chercher une liste de répertoire sous un nom de server dans un fichier XML:

public static StringCollection GetDirectoryList(String serverName)
{
StringCollection collDir = new StringCollection();
XmlDocument xmlDoc;
XmlNodeList xmlNodeDirList;
XmlNode xmlNode;

}

Au lieu de faire les "///" traditionnelles, je me positionne sur la méthode à documenter et j’active la nouvelle option venant de GhostDoc avec le menu contextuel (clic droit), "Comment This" :

Et j’obtiens ceci sans rien faire d’autre:

/// <summary>
/// Gets the directory list.
/// </summary>
/// <param name="serverName">Name of the server.</param>
/// <returns></returns>

Je fais quelques petites modifications pour améliorer le tout et voilà:

/// <summary>
/// Used by the console or windows client to get the list of directories to scan
/// for the server name passed in the parameters
/// </summary>
/// <param name="serverName">Name of the server.</param>
/// <returns>
/// Return an array of string representing a list of directory
/// </returns>

 

Autre exemple avec une fonction de type "bool":

public static bool IsExcludeDirExist(string serverName)
{
bool nodeData = IsNodeDataExist(serverName.ToLower(), "ExcludedDirectories");
return nodeData;
}

J’utilise "Comment this" et j’obtient directement ceci:

/// <summary>
/// Determines whether [is exclude dir exist] [the specified server name].
/// </summary>
/// <param name="serverName">Name of the server.</param>
/// <returns>
/// <c>true</c> if [is exclude dir exist] [the specified server name]; otherwise, <c>false</c>.
/// </returns>

Et par la suite, j’y fais quelques modifications:

/// <summary>
/// Determines whether an excluded directory exist for the specified server name.
/// </summary>
/// <param name="serverName">Name of the server.</param>
/// <returns>
/// <c>true</c> if an excluded directory exist for the specified server name; otherwise, <c>false</c>.
/// </returns>

Intéressant, non  ?

Ghost Doc ne fait pas des miracles, mais il rend la création de commentaires XML beaucoup plus facile. Par contre, il est important de bien nommer ses fonctions et méthodes pour que Ghost Doc puisse en faire une bonne analyse. C’est en fait une bonne pratique de toujours s’assurer que les noms de fonctions et méthodes sont toujours significatifs. Pour y arriver, il s’agit simplement de suivre ces trois règles:

  • Utiliser le "PascalCasing" ou le "camelCasing" pour écrire les noms avec plusieurs mots
  • Débuter les noms des méthodes avec un verbe
  • Ne pas utiliser d’abréviation dans les noms

    GhostDoc marche principalement avec le C#, mais je crois qu’il y a quelques fonctionnalités pour VB aussi.

    Pour une simple introduction de GhostDoc, voici un article intéressant:

    http://dotnetslackers.com/articles/vs_addin/Introduction_ghostdoc.aspx

    Et pour le télécharger:

    http://www.roland-weigelt.de/ghostdoc/

  • Publicité