Moved TODO items to GitHub issue tracker
parent
c8e2ebc4ea
commit
35157b0e81
73
TODO
73
TODO
|
@ -1,73 +0,0 @@
|
||||||
# TODOs for ease.js
|
|
||||||
#
|
|
||||||
# This is by no means a complete list.
|
|
||||||
|
|
||||||
[ target: 0.1.0 ]
|
|
||||||
Misc
|
|
||||||
- Class module is becoming too large; refactor
|
|
||||||
- Permit binding on class methods
|
|
||||||
- Move tests to directly test propobj
|
|
||||||
- Was never done after refactoring. It's tested as a consequence of being
|
|
||||||
used in the class module.
|
|
||||||
- Useful error when trying to extend from non-function
|
|
||||||
(rather than CALL_NON_FUNCTION_AS_CONSTRUCTOR)
|
|
||||||
|
|
||||||
Member Keywords
|
|
||||||
- Restrictions; throw exceptions when unknown keywords are used
|
|
||||||
- Abstract keyword cannot be used with private members
|
|
||||||
- toString() must be public
|
|
||||||
|
|
||||||
Documentation
|
|
||||||
- Ensure all docblocks contain only valid JSDoc tags
|
|
||||||
- Begin technical documentation for developers
|
|
||||||
- Include designs and project decisions
|
|
||||||
- Wiki, LaTeX, Texinfo?
|
|
||||||
- API documentation
|
|
||||||
- Wiki, LaTeX, Texinfo?
|
|
||||||
|
|
||||||
Client-Side
|
|
||||||
- implement assert.deepEqual()
|
|
||||||
|
|
||||||
|
|
||||||
[ 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)
|
|
||||||
|
|
||||||
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.
|
|
||||||
|
|
Loading…
Reference in New Issue