Some Basic Questions
Kirk McDonald
kirklin.mcdonald at gmail.com
Tue Aug 15 18:03:48 PDT 2006
Lutger wrote:
> Kirk McDonald wrote:
>
>> Lutger wrote:
>>
>>> Derek Parnell wrote:
>>>
>>>> No, I suggest you use a different naming convention. I would have your
>>>> class name start with a Capital letter and have your source file
>>>> name all
>>>> lowercase. And if you stick to one class per file, have your filename
>>>> different to the class by adding a suffix or prefix. For example,
>>>>
>>>> module foo_m;
>>>> class Foo
>>>> {
>>>> ...
>>>> }
>>>
>>>
>>>
>>> Can I ask you, what is your reason for naming a source file
>>> differently than the class? Does it have something to do with
>>> importing magic?
>>
>>
>> The name of the source file and the name of the class are completely
>> orthogonal. They have nothing to do with each other. They may be the
>> same or different as you wish. This is not Java: A source file can
>> contain zero classes or as many classes as you like.
>>
>> That said, it is convention to name source files and modules
>> completely lower-case, and to start class names with a capital.
>> However, the language does not actually enforce either of these. If
>> nothing else, it is a /very bad/ idea to ever name the source file and
>> the module different things, even if they just differ in capitalization.
>>
>
> I've noticed that unfortunatly, it can create quite a mess. I'm coming
> from C++, I don't know how Java handles it. Does it enforce it that hard?
Java mandates that each source file contain a single class with the same
name as the file. Java is more strictly object-oriented than C++ or D,
and can't have anything outside of a class.
>
> Maybe I've misunderstood it, I thought Derek Parnell meant the following:
>
> module foo.bar; // corresponds to foo/bar.d
> class Bar // don't do this, use a different name
> {
> ...
> }
> To avoid names such foo.bar.Bar, "if you stick to one class per file."
> This is something different than naming source file and module different.
Well, that's fine. I see nothing wrong with that.
--
Kirk McDonald
Pyd: Wrapping Python with D
http://pyd.dsource.org
More information about the Digitalmars-d-learn
mailing list