Declare all properties

While it is perfectly true that all undeclared properties are automatically assumed to be of Type:Page, an undeclared property creates confusion. The only properties that can safely remain undeclared are special properties. In any other case, if a property remains undeclared, any user might choose to declare a property to be of, say, Type:String when that is not your intention.

Furthermore, a good property declaration clearly states the intended uses and purposes of that property. Thus, there is more to property declaration than specifying Property:Has type and, where applicable, such other special properties as Property:Display units or Property:Allows value. A good property description serves the same purpose as do good comments within program or script code. (This last is especially important in any community effort, in which such descriptions often become the most frequent, if not the only, regularly relied0-upon medium of communication.)