From caddb2b362d480bece240d8fe5d311cb5b9f2640 Mon Sep 17 00:00:00 2001 From: Mike Gerwitz Date: Fri, 11 Mar 2011 18:49:26 -0500 Subject: [PATCH] Updated TODO with targets for v0.1.0 --- TODO | 109 +++++++++++++++++++++++++++++++---------------------------- 1 file changed, 58 insertions(+), 51 deletions(-) diff --git a/TODO b/TODO index 60c58ad..925d8c8 100644 --- a/TODO +++ b/TODO @@ -2,61 +2,68 @@ # # This is by no means a complete list. -Misc - - Deep cloning level for util.clone() - - Optional preprocessing support - - Ability to disable features that wouldn't impact base functionality - - For example, one may wish to have type checking enabled for development - but may not want the performance hit for their production code. - Disabling type checking, as long as the proper types are passed to the - functions, will not impact function logic. - - Should be able to run source file without preprocessing, so C-style macros - cannot be used (# is not a valid token) - - Class module is becoming too large; refactor +[ target: 0.1.0 ] + Misc + - Class module is becoming too large; refactor -Member Keywords - - Restrictions; throw exceptions when unknown keywords are used - - const; immutable properties - - final; methods cannot be overridden by subtypes - - static; method/property accessible via class definition - - event; designates a supported event - - Concrete types must implement member with same visibility, or greater - visibility, than the abstract implementation defined + Member Keywords + - Restrictions; throw exceptions when unknown keywords are used + - Concrete types must implement member with same visibility, or greater + visibility, than the abstract implementation defined -Typing - - Support JSDoc-style type definitions for parameters - - Syntax: - [ 'string', 'number', function( name, age ) {} ] - - Optional; if a function is simply provided, rather than an array, no type - checking will be performed - - For abstract methods, simply leave the function off (last index) - - Provide option to throw errors on any type mismatch - - Auto-cast, unless casting is impossible, then throw error + Documentation + - Ensure all docblocks contain only valid JSDoc tags + - Generate documentation + - Add to Makefile + - Begin technical documentation for developers + - Include designs and project decisions + - Wiki, LaTeX, Texinfo? + - API documentation + - Wiki, LaTeX, Texinfo? -Reflection - - Rather than exposing internal data via properties, fully encapsulate - - Classes, not just modules like the rest of ease.js + Client-Side + - implement assert.deepEqual() -Patterns - - Provide automated means to generate classes for common patterns (primarily - GoF) - - Generating classes at runtime gives us the powerful benefit of being able - to generate the classes however we wish. Therefore, we do not need code - generation techniques to generate classes. We can simply call a method. - This will remove repetitive tasks and duplicate code needed to properly - implement the various patterns, and serve as an excellent tool for those - unfamiliar with them. -Documentation - - Ensure all docblocks contain only valid JSDoc tags - - Generate documentation - - Add to Makefile - - Begin technical documentation for developers - - Include designs and project decisions - - Wiki, LaTeX, Texinfo? - - API documentation - - Wiki, LaTeX, Texinfo? +[ future ] + Misc + - Deep cloning level for util.clone() + - Optional preprocessing support + - Ability to disable features that wouldn't impact base functionality + - For example, one may wish to have type checking enabled for development + but may not want the performance hit for their production code. + Disabling type checking, as long as the proper types are passed to the + functions, will not impact function logic. + - Should be able to run source file without preprocessing, so C-style macros + cannot be used (# is not a valid token) -Client-Side - - implement assert.deepEqual() + Member Keywords + - const; immutable properties + - final; methods cannot be overridden by subtypes + - static; method/property accessible via class definition + - event; designates a supported event + + Typing + - Support JSDoc-style type definitions for parameters + - Syntax: + [ 'string', 'number', function( name, age ) {} ] + - Optional; if a function is simply provided, rather than an array, no type + checking will be performed + - For abstract methods, simply leave the function off (last index) + - Provide option to throw errors on any type mismatch + - Auto-cast, unless casting is impossible, then throw error + + Reflection + - Rather than exposing internal data via properties, fully encapsulate + - Classes, not just modules like the rest of ease.js + + Patterns + - Provide automated means to generate classes for common patterns (primarily + GoF) + - Generating classes at runtime gives us the powerful benefit of being able + to generate the classes however we wish. Therefore, we do not need code + generation techniques to generate classes. We can simply call a method. + This will remove repetitive tasks and duplicate code needed to properly + implement the various patterns, and serve as an excellent tool for those + unfamiliar with them.