From a691dfd6edb58db093ca7cfd09f402ef798ef06c Mon Sep 17 00:00:00 2001 From: Paul Beckingham Date: Fri, 29 Jul 2011 22:34:25 -0400 Subject: [PATCH] Developer File - Added more required code "specs", removed the burndown y-axis function that was provided by Ben Boeckel. --- DEVELOPER | 38 ++++++++++++++++++++++++++------------ 1 file changed, 26 insertions(+), 12 deletions(-) diff --git a/DEVELOPER b/DEVELOPER index e4b85a6ed..08b327787 100644 --- a/DEVELOPER +++ b/DEVELOPER @@ -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: + one two three four + It can be shortened to: + one two three four + This is only possible if there is nothing between and 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.