• # Code auto-documenté

    Posté par . En réponse au journal To comment or not to comment. That is the question.. Évalué à 2.

    J'ai essayé de factoriser le code pour en faire un code auto-documenté (à savoir, pas de commentaires, mais des noms de variables, fonctions, etc. qui parlent du problème).

    Je préviens tout de suite que ça va choquer les âmes sensibles, parce que j'ai fait le choix d'un code dense (Les accolades sur les ifs ? C'est pour les nuls… ;-)), et sans point virgules.

    Je ne défend pas forcément le code sans commentaires (tout comme je ne défend pas un code sans point virgule), mais je le comprend (Enfin, je comprend le principe. Quant à comprendre un code sans commentaires, ça va surtout dépendre de s'il est bien écrit).

    (function (goog) {
     /**
     * The default implementation of the import function.
     * Writes a script tag to import the script.
     *
     * @param {string} src The script source.
     * @return {boolean} True if the script was imported,
     * false otherwise.
     * @private
     *
     */
     goog.writeScriptTag_ = function (source) {
     if (!goog.inHtmlDocument_()) return false
     var loadedFromBaseJs = isDependency(source)
     if (shouldNotWrite(source, loadedFromBaseJS)) return false
     doc.write(tag(source))
     return true
     }
     var doc = goog.global.document
     var isDependency = function (source) {
     return /\bdeps.js$/.test(source)
     }
     var shouldNotWrite = function (source, pageWiped) {
     if (doc.readyState != 'complete') return false
     if (!pageWiped) throw Error(errorText(source))
     return true
     }
     var errorText = function (source) {
     return 'Cannot write "' + source + '" after document load'
     }
     var tag = function (source) {
     return '<script type="text/javascript" src="' + source + '"></' + 'script>'
     }
    })(goog)
    
    

    Il y a des choses à en dire, mais je n'ai pas envie de poster un gros pâté. Je répondrais à vos remarques si vous en avez, sinon, c'est que vous n'êtes pas intéressé et que j'ai bien fait de vous épargner le pâté (qui sera meilleur en plusieurs commentaires).