Hi friends, please evaluate the proposal below.

PROPOSAL: Use namespaces effectively and organize drizzled/ directory by
functional unit

I'd like to be able to use C++ namespaces in order to better organize
the code in the main drizzled/ server source code directory.  Here is a
proposed naming convention for the namespaces.

namespace Drizzled

Anything in the /drizzled directory

namespace Drizzled::Serialize

Anything in the drizzled/serialize/ directory (the Google Proto Buffer
code and classes)

namespace Drizzled::Replication

All replication stuff, to be moved out of the main drizzled/ directory
and into a subdirectory named drizzled/replication/

namespace Drizzled::SQL

Classes and code corresponding to the execution of specific SQL commands
-- files such as sql_table.cc, sql_select.cc, etc...

namespace Drizzled::Optimizer

Classes and code for the optimizer -- files such as opt_range.cc,
opt_sum.cc, and eventually a whole lot more after it gets refactored
into non-spaghetti

namespace Drizzled::Item

The Item_XX classes.  Move item_ classes into /drizzled/item

namespace Drizzled::Item::Field

The Item_field classes.  Move the directory drizzled/field/ under
drizzled/item/field/

namespace Drizzled::Plugin

All code for the server's plugin API, to be put in /drizzled/plugin/

namespace Drizzled::Parser

All parser/lexer code, to be moved into drizzled/parser/

I think that moving to such a directory structure and namespace
organization will be helpful for developers to better organize code (in
their heads) and also may help if certain functionality will eventually
be made into a stand-alone library (for instance /drizzled/parser/
->libdrizzleparse)

Just some thoughts.  Bad idea?  Advice/suggestions welcome.

Cheers,

Jay

_______________________________________________
Mailing list: https://launchpad.net/~drizzle-discuss
Post to     : [email protected]
Unsubscribe : https://launchpad.net/~drizzle-discuss
More help   : https://help.launchpad.net/ListHelp

Reply via email to