SIOC Post profile for "AI3:::Adaptive Information"
type: Document
description: A SIOC profile describes the structure and contents of a weblog in a machine readable form. For more information please refer to http://sioc-project.org/.
primary topic: Overcoming Limitations to JavaScript Collaboration
generator agent: http://rdfs.org/sioc/wp-sioc.php

Overcoming Limitations to JavaScript Collaboration
type: Post
has container: weblog
has creator: Mike Bergman
maker: Mike Bergman
created: 2007-02-27T03:17:17Z
content: To Reach Its Full Potential, JavaScript Collaboration Needs New Approaches and New Tools This posting begins from the perspective: I've found a nifty JavaScript code base and would like to help extend it. How do I understand the code and where do I begin? It then takes that perspective and offers some guidance to open source projects and developers of some tools and approaches that might be undertaken to facilitate code collaboration. Rich Internet applications, browser extensions and add-ons, and the emergence of sophisticated JavaScript frameworks and libraries such as Dojo, YUI and Prototype (among dozens of others, see here for a listing) are belying the language's past reputation as a "toy." These very same developments are increasingly leading to open source initiatives around these various sophisticated frameworks and applications. But there can be major barriers to open source collaboration with JavaScript. JavaScript works great for single developers or single-embedded functions. It also is easily malleable with the use of obfuscation, minifying (including white-space reductions), and short variable names to keep scripts communicated by the server small and opaque. Yet as more JavaScript initiatives become ever complex and seek the involvement of outside parties, these factors and the nature of the language itself work against easy code understanding. Open source projects are often notorious for poor, even non-existent, documentation. (I very much like Mike Pope's statement, "If it isn't documented, it doesn't exist.") But the documentation curse is magnified for JavaScript . As Doug Crockford notes, the general state of standard language documentaton and guide books is poor. Developers also often learn from others' code examples, and there is much in the way of JavaScript snippets, especially historical, that is atrocious. Even widely adopted frameworks, such as Prototype, have for years been nearly undocumented, a shortcoming now being addressed. Rarely (…
encoded: To Reach Its Full Potential, JavaScript Collaboration Needs New Approaches and New Tools This posting begins from the perspective: I’ve found a nifty JavaScript code base and would like to help extend it. How do I understand the code and where do I begin? It then takes that perspective and offers some guidance to open source projects and developers of some tools and approaches that might be undertaken to facilitate code collaboration. Rich Internet applications, browser extensions and add-ons, and the emergence of sophisticated JavaScript frameworks and libraries such as Dojo, YUI and Prototype (among dozens of others, see here for a listing) are belying the language’s past reputation as a “toy.” These very same developments are increasingly leading to open source initiatives around these various sophisticated frameworks and applications. But there can be major barriers to open source collaboration with JavaScript. JavaScript works great for single developers or single-embedded functions. It also is easily malleable with the use of obfuscation, minifying (including white-space reductions), and short variable names to keep scripts communicated by the server small and opaque. Yet as more JavaScript initiatives become ever complex and seek the involvement of outside parties, these factors and the nature of the language itself work against easy code understanding. Open source projects are often notorious for poor, even non-existent, documentation. (I very much like Mike Pope’s statement, “If it isn’t documented, it doesn’t exist.”) But the documentation curse is magnified for JavaScript . As Doug Crockford notes, the general state of standard language documentaton and guide books is poor. Developers also often learn from others’ code examples, and there is much in the way of JavaScript snippets, especially historical, that is atrocious. Even widely adopted frameworks, such as Prototype, have for years been nearly undocumented, a shortcoming now being addressed. Rarely (…
topic: Open Source
topic: Software Development
has reply: comment-41133
has reply: comment-506535
links to: Rich Internet applications
links to: add-ons
links to: JavaScript
links to: here for a listing
links to: obfuscation
links to: minifying
links to: "If it isn't documented, it doesn't exist."
links to: Doug Crockford notes
links to: Prototype
links to: UML
links to: APIs
links to: YUI
links to: Dojo
links to: prototypal nature
links to: IDEs
links to: Tibco General Interface
links to: Rhino
links to: Google Web Toolkit (GWT)
links to: Relo
links to: "Reverse engineering,"
links to: construction of UML diagrams
links to: ReversiXML
links to: WebUml
links to: code visualizer for Rails
links to: JavaScript Reporter
links to: Code Visual 2 Flowchart
links to: JS Linker
links to: one review
links to: GWT Designer
links to: Zotero
links to: finding the page itself is somewhat hard
links to: Dia
links to: Visio
links to: Graphviz
links to: Violet
links to: UMLet
links to: UMLGraph
links to: LightUML
links to: Eclipse
links to: XUG
links to: BOUML
links to: StarUML
links to: 40 or UML options that support that platform
links to: green
links to: EclipseUML
links to: eUML2
links to: Blueprint Software Modeler
links to: Papyrus
links to: DI2
links to: Visual Paradigm for UML
links to: MagicDraw UML
links to: ArgoEclipse
links to: UML profiles
links to: XMI (XML metadata interchange)
links to: Aptana
links to: Spket
links to: JSEclipse
links to: UML2
links to: EMF
links to: GMF
links to: Model Development Tools
links to: JSDoc
links to: Javadoc
links to: JSDoc-2
links to: ScriptDoc
links to: NaturalDocs
links to: Google Group
links to: JSDocumenter
links to: multi-language

Mike Bergman
type: User

Mike Bergman
type: Person

an example report

natural syntax

HTML documentation

Qooxdoo

this explanation

general comparison of documentation generators

JavaScript coding standards

JSLint

Firebug

Venkman