digitalmars.D - Is D open for different code conventions?
- eao197 (64/64) Jul 30 2007 I just want to ask D's community: it is appropriate if some projects wil...
- renoX (7/17) Jul 30 2007 Maybe there should be a vote?
- eao197 (12/20) Jul 30 2007 I don't think that a vote is appropriate here. IMHO, the better way is
- Anonymous (3/5) Jul 30 2007 If it is your project I don't see anybody forcing you to do anything.
- Bill Baxter (12/19) Jul 30 2007 toString, opApply, opCall, opCatAssign....
- Sean Kelly (9/30) Jul 30 2007 It's a bit of a religious issue, but I've decided I like CamelCase for
- Bill Baxter (18/42) Jul 30 2007 I was actually only talking about method names. For class names I'm all
- BCS (4/20) Jul 30 2007 The only thing I would go for (in text ;) is "let everybody do it the wa...
I just want to ask D's community: it is appropriate if some projects wil=
l =
use different code convention?
I used CamelCase code convention, which was very similar to the current =
=
D's style, for more than 6 years, but with time I felt that my eyes got =
=
tired when dealing with big amount of CamelCase formatted code. So I =
switched to lower_case style and use it for last 6 years.
Now, when I try to write D code in CamelCase style I've found the same =
problem again -- my eyes get tired quickly. Because in code like such:
void
parseLine( char[] line, bool showGoodMessages )
{
if( line.length <=3D 2 )
return;
auto binImage =3D tryExtractShortMessageBody( line );
if( binImage !is null )
{
auto analyzingResult =3D tryHandleHeadersAndBody( binImage );
if( analyzingResult.isGoodMessage() )
{
if( showGoodMessages )
Stdout.formatln( "OK: {0}", analyzingResult );
}
else
showBadMessage( line, analyzingResult );
}
else
Stderr.formatln( "nothing found in {0}", line );
}
it is hard to read indentifiers like tryHandleHeadersAndBody. So I prefe=
r =
to write:
void
parse_line( char[] line, bool show_good_messages )
{
if( line.length <=3D 2 )
return;
auto bin_image =3D try_extract_short_message_body( line );
if( bin_image !is null )
{
auto analyzing_result =3D try_handle_headers_and_body( bin_imag=
e );
if( analyzing_result.is_good_message() )
{
if( show_good_messages )
Stdout.formatln( "OK: {0}", analyzing_result );
}
else
show_bad_message( line, analyzing_result );
}
else
Stderr.formatln( "nothing found in {0}", line );
}
I think it would be good if there will be possibility to use different =
code convention in D. For example, like Ruby's: CamelCase for class name=
s =
and lower_case for method names, or like C++ ACE's: Camel_Case for class=
es =
and lower_case for methods.
-- =
Regards,
Yauheni Akhotnikau
Jul 30 2007
eao197 Wrote:I just want to ask D's community: it is appropriate if some projects will use different code convention?Maybe there should be a vote? I don't like at all CamelCase either.. [cut]I think it would be good if there will be possibility to use different code convention in D. For example, like Ruby's: CamelCase for class names and lower_case for method names, or like C++ ACE's: Camel_Case for classes and lower_case for methods.Restricting CamelCase to class name is a good compromise, I agree. That said even for class name/typename, there is some weird 'double standard': I doubt that you'll find many people who want to switch from 'int' to 'Int'.. renoX-- Regards, Yauheni Akhotnikau
Jul 30 2007
On Mon, 30 Jul 2007 14:46:47 +0400, renoX <renosky free.fr> wrote:eao197 Wrote:I don't think that a vote is appropriate here. IMHO, the better way is allow to use different code conventions. Yes it leads to styles mixture (like in C++ when a project uses Qt+ACE+boost), but C++ show that it isn't a big problem. It is not a good idea to mix different styles in some kind of projects, like reusable libraries (for example it is bad idea to add new code to Tango in a different style). But when I wrote my own project with Tango I want to use my own code convention.I just want to ask D's community: it is appropriate if some projects will use different code convention?Maybe there should be a vote?That said even for class name/typename, there is some weird 'double standard': I doubt that you'll find many people who want to switch from 'int' to 'Int'..AFAIK, 'int' is not a class, so it isn't a problem :) -- Regards, Yauheni Akhotnikau
Jul 30 2007
I just want to ask D's community: it is appropriate if some projects will use different code convention?If it is your project I don't see anybody forcing you to do anything. Personally I don't even know which convention I'm supposed to use. I wouldn't even be able to name the convention I use myself :D
Jul 30 2007
Anonymous wrote:toString, opApply, opCall, opCatAssign.... Some uses of camel case are dictated by the spec currently. And Phobos and Tango both use camelCase for methods. I also used to like camelCase and groaned whenever I saw a different convention, and *especially* at GTK code. But I also came to the realization at some point that underscore_separated really is easier to read close to the deadline, late at night, with too little sleep. On the other hand, having D and D libraries use camel case means that I underscore_methods can serve as an indicator for what's "my code" and what's "library code". --bbI just want to ask D's community: it is appropriate if some projects will use different code convention?If it is your project I don't see anybody forcing you to do anything. Personally I don't even know which convention I'm supposed to use. I wouldn't even be able to name the convention I use myself :D
Jul 30 2007
Bill Baxter wrote:Anonymous wrote:It's a bit of a religious issue, but I've decided I like CamelCase for type names because it helps visually distinguish them from variable names, etc. It's also a tiny bit more compact. For what it's worth, I was an underscore_fellow until I started using D.toString, opApply, opCall, opCatAssign.... Some uses of camel case are dictated by the spec currently. And Phobos and Tango both use camelCase for methods. I also used to like camelCase and groaned whenever I saw a different convention, and *especially* at GTK code. But I also came to the realization at some point that underscore_separated really is easier to read close to the deadline, late at night, with too little sleep.I just want to ask D's community: it is appropriate if some projects will use different code convention?If it is your project I don't see anybody forcing you to do anything. Personally I don't even know which convention I'm supposed to use. I wouldn't even be able to name the convention I use myself :DOn the other hand, having D and D libraries use camel case means that I underscore_methods can serve as an indicator for what's "my code" and what's "library code".I've actually never liked having such a distinction :-) Particularly with C++ where doing so can break the use of templates that rely on class-scope typedefs following certain conventions. Sean
Jul 30 2007
Sean Kelly wrote:Bill Baxter wrote:I was actually only talking about method names. For class names I'm all for CapitalizedWords. But as you say, it is just a religious thing, which is why the OP suggests making it a preference. But I just don't see how that would work. So to the OP: what did you have in mind? The only think I could imagine would be to make the compiler magically mangle a bunch of related names to the same symbol. Like making all of to_string ToString To_String etc... mangle to the same thing as toString but that doesn't really cover the std libary. And I think it would be a really bad idea to globally treat some_function as synonymous with SomeFunction. Reminds me of case-insensitive languages where SomeVArIaBle is the same thing as someVariable. --bbAnonymous wrote:It's a bit of a religious issue, but I've decided I like CamelCase for type names because it helps visually distinguish them from variable names, etc. It's also a tiny bit more compact. For what it's worth, I was an underscore_fellow until I started using D.toString, opApply, opCall, opCatAssign.... Some uses of camel case are dictated by the spec currently. And Phobos and Tango both use camelCase for methods. I also used to like camelCase and groaned whenever I saw a different convention, and *especially* at GTK code. But I also came to the realization at some point that underscore_separated really is easier to read close to the deadline, late at night, with too little sleep.I just want to ask D's community: it is appropriate if some projects will use different code convention?If it is your project I don't see anybody forcing you to do anything. Personally I don't even know which convention I'm supposed to use. I wouldn't even be able to name the convention I use myself :D
Jul 30 2007
Reply to Bill,So to the OP: what did you have in mind? The only think I could imagine would be to make the compiler magically mangle a bunch of related names to the same symbol. Like making all of to_string ToString To_String etc... mangle to the same thing as toString --bbThe only thing I would go for (in text ;) is "let everybody do it the way that they will and live with it!" Unless you are signing my paycheck, I'm going to name stuff the way I like to do it.
Jul 30 2007









eao197 <eao197 intervale.ru> 