Developer File

- Added more required code "specs", removed the burndown y-axis function
  that was provided by Ben Boeckel.
This commit is contained in:
Paul Beckingham 2011-07-29 22:34:25 -04:00
parent ecfce5091e
commit a691dfd6ed

View file

@ -3,8 +3,8 @@ codebase. It is for developers looking for a way to start contributing.
Deprecated Code
This is code that is going to be phased out "soon", and therefore is not
worth fixing or documenting.
This is code that is going to be phased out soon, and therefore is not worth
fixing or documenting. Don't waste your time.
- Variant.{h,cpp}
- Location.{h,cpp}
@ -18,23 +18,34 @@ New Code Needs
sensitive manner.
- Need a function to accept a list of projects, and return an indented list
that reflects the hierarchy. This will likely go into the new 'projects'
command.
command. Something like:
Input - "one"
"one.two"
"one.two.three"
"one.four"
"two"
Output - "one"
" one.two"
" one.two.three"
" one.four"
"two"
- Take all the Config::checkXXX methods and create a new legacy.cpp file
that handles dealing with all legacy checks. To be called from
src/commands/CmdShow.cpp.
- Need export_sql.yy script. Any language.
- Need export_viz.yy script. Any language.
- Need new export_xxx.yy scripts - the more the better. Any language.
- Need new algorithm for determining the Y-axis for burndown charts. The
Y-axis shows three numbers - 0, N/2 and N. Choosing N appropriately is
not easy, and is currently done poorly. For example the value N=200 is an
ideal choice if there are 194 tasks because it is a nice round number, and
is not too far above 194. This should be a util.cpp function, that takes
an integer, and returns the integer, N. N should be even.
- The JSON.{h,cpp} code is fast and efficient, but has a non-linear
performance curve, implying a slowdown due to fragmentation. Fix it.
- The JSON.{h,cpp} code is fast and efficient up to a point, but has a non-
linear performance curve, implying a slowdown due to fragmentation. Fix it.
Test rig and sample data available on request.
- Devise a complete rule set for Task::validate. What should it warn about?
- Need a function that can optimize color codes. For example, if a string
contains this:
<red>one two </red><red>three four</red>
It can be shortened to:
<red>one two three four</red>
This is only possible if there is nothing between </red> and <red> and the
colors match.
Documentation Needed
Various forms of documentation that are needed, or are in need of review or
@ -69,6 +80,7 @@ Unit Tests Needed
- Need tests of command line expressions.
- Test propagation of modifications to recurring tasks.
- Test regex support.
- Need unit tests for each bug in the issue list, if suitable.
Work in Progress
Things that are currently in flux, which is another way of saying leave it
@ -78,10 +90,11 @@ Work in Progress
completd and tested.
- L10N (Localization) is in progress. This means moving all user-presented
strings into en-US.h, which is included by i18n.h. Language selection will
be a cmake-controlled #define. This is about 85% complete. This makes
be a cmake-controlled #define. This is 86% complete. This makes
translation possible, but there is no active project to make this happen.
It is expected that translation files will trickle in, and create a
maintenance burden. We don't know how we're going to deal with this yet.
They will probably be downloadable files.
Current Codebase Condition
@ -99,6 +112,7 @@ Current Codebase Condition
---
2011-07-29 Added more needed code descriptions.
2011-07-27 Updated with holiday data info.
2011-07-25 Created file.