Mats Kindahl wrote:
>
> Jay Pipes wrote:
>> 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.
>
> I have no opinions on the use of capital letters or not for namespaces.
>
> However, please observe that namespaces are more than a way to structure the
> code in a tree, it also introduces a namespace for name lookups, so functions
> that operate on entities in a namespace should be in the same namespace.
> Otherwise, name lookup will behave strange and even run the risk of finding
> the
> wrong function.
hrm. Is this because the rules aren't clear? Or because we might get it
wrong?
> Basically, no function prototype should have references to entities in another
> namespace.
does this hold even if I had something like:
namespace drizzled {
int cmp_int_field(drizzled::field::integer i1,
drizzled::field::integer i2);
};
?
>> 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/
>
> I don't think you need to separate the fields into a separate namespace since
> (I
> assume) that functions in the Item namespace will operate on entities in the
> Item::Field namespace.
>
>> 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
>
> _______________________________________________
> 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