On 03/24/2010 02:31 PM, vanya tucherov wrote:
From a sheer project management perspective, those large tasks are
insufficiently discreet pieces of work to be actionable-- "Refactor all
methods/functions which have unused param" is just too damn broad for
someone to commit to working upon with any chance of success.
TOTALLY. That task is not intended as an actionable task... it's more of
a super-task. As you're about to allude to - a decent first step in
dealing this the overall task here is break it down in to smaller more
manageable chunks that you can succed at. Each of those can be a new
blueprint and this blueprint can depend on those. :)
If someone can help me determine how to successfully identify the
methods/functions which have unused params (without me needing an
in-depth understanding of the whole code base) or any of the other
similarly broad statements of work, I'll gladly take on those definition
chunks- "Identify all methods/functions which have unused param" and
"Create work items for refactoring method(foo) to remove unused params"
Wonderful. I think that's a great idea. In our code base, functions and
methods with unused parameters have no parameter name. For instance:
int foo(char *name, int)
{
/* do something */
}
has had the name of the second parameter removed because it is not used
in the body of the function. It is possible that in a few places the
parameter name has been commented out rather than removed.
There are a few instances where it will not be possible to refactor -
such as when the method is a virtual method in a subclass and the
implementation in the subclass just doesn't need all of the parameters
that the parent class needed.
Also - as you begin to look at this, ignore the plugin/innobase,
plugin/heap and plugin/myisam directories.
Thanks!
Monty
-Vanya
On 3/24/2010 1:41 PM, Monty Taylor wrote:
Hey Everybody!
I just went through the low-hanging-fruit milestone
(https://launchpad.net/drizzle/+milestone/low-hanging-fruit) and
removed blueprints that were either too hard or were things that are
antiquated. At his point, anything that that's there is pretty fair
game for anyone to pick up and work on as an intro to the codebase and
process.
Many of these tasks are large tasks that aren't going to be finished,
but which you can take and hack on pretty easily. Take "Refactor all
methods/functions which have unused param" ... it'll take an age to
finish that, but anybody at any time can go find a function with an
unused param and refactor it.
For tasks that are similarly low-priority and/or long-term tasks but
which are a bit harder, there is also an "ongoing" milestone
(https://launchpad.net/drizzle/+milestone/low-hanging-fruit). If you
want to hack on a random task but want one that'll possibly give you
hives, check that out.
As a final note - if you _do_ complete a blueprint or a bug from
low-hanging-fruit or ongoing, target it to the next date milestone and
to the current release series. That way it gets marked as having been
completed in that release.
Thanks everybody!
Monty
_______________________________________________
Mailing list: https://launchpad.net/~drizzle-discuss
Post to : [email protected]
Unsubscribe : https://launchpad.net/~drizzle-discuss
More help : https://help.launchpad.net/ListHelp
_______________________________________________
Mailing list: https://launchpad.net/~drizzle-discuss
Post to : [email protected]
Unsubscribe : https://launchpad.net/~drizzle-discuss
More help : https://help.launchpad.net/ListHelp