ietf-mta-filters
[Top] [All Lists]

Re: Variables : list : scope : system : const

2003-05-16 13:24:38

ned(_dot_)freed(_at_)mrochek(_dot_)com wrote:
>> 3) All variables that are ever defined in any RFC extension must be
>> in kind of scope.
>
> A naming convention is fine, scoping is not.

I think this statement by Ned is key to his feelings on the topic. I think the problem has arisen because of potential misuse or misunderstandings of the terms "namespace" and "scope" by various posters.

Note: The term namespace is a naming convention -- it has nothing to do with scope. (Whenever I have written about this, I think I have consistently used the term "namespace" and not "scope".)

In short, I agree completely with Ned.

I would like to see the ability to have a naming convention such that I can write an extension "foo" and name all the variables created by that extension with a naming convention such as "foo." or "foo:" or "foo::" or something of that nature.

I really dislike using "_" for this purpose, because "_" in most languages is expected to be simply a word separator and nothing special. And I expect our users to treat it similarly, and not as anything that's part of any naming convention.

What would be required for this to be possible? At the minimum, simply add "." or ":" to the list of valid characters allowed within a name. Treating "." or ":" as part of a naming convention is just that, a convention.

(I've consistently used "." in my postings on this topic. Other than not using "_" for this purpose, I DON'T CARE which convention is chosen, be it ".", ":", "::", or whatever.)

Now, I would also like it agreed upon that all sieve extensions that create variables SHOULD use a namespace using this naming convention. I would even recommend that a sieve extension named "example" SHOULD use "example." as the prefix on all of its variables. (I consider this a Best Practice issue.)

        Tony Hansen
        tony(_at_)att(_dot_)com