What do you think?
-
Well, since John Simmons got his new TV, he probably will be missing for about two days, but for the rest of you: It has been around two years I think since I have asked this question and I am curious as to if people have changed their minds. Do you use/like the "_" to prefix private members? I personal hate variables prefixed with with _underscores _as _it _can _make _reading _code() _a _pain! In the old days of Assembler and some C code, we lived with it all the time, but I had hoped to never see them again. Now much of the code released by MS has private members prefixed. So, what you think?
Rocky <>< Latest Code Blog Post: SQL Server Express Warnings & Tips Latest Tech Blog Post: Microsoft doing it again!
i hate prefix "_", because code is not intuitive and reading this is very uncomfortable. I'm programing in c#. Regards Łukasz
-
Rocky Moore wrote:
but I had hoped to never see them again. Now much of the code released by MS has private members prefixed
Well theoretically, you shouldn't be looking at the private members (either fields or functions), unless you are maintaining someone else's code.
Regards, Nish
Nish’s thoughts on MFC, C++/CLI and .NET (my blog)
Currently working on C++/CLI in Action for Manning Publications. (*Sample chapter available online*)I Like them! :rose: Why? I'm a VB.NET developer... to write none language dependent code is like coding to interfaces instead of implementations ;P What do I mean? Well to easily convert / write / use code from BOTH c# and VB.Net "_" simplifies a great bit... Mainly because vb.net is not case sensitive. I find the "_" char the least disturbing in reading / skimming through code. The m_ prefix i dislike the m_ prefix as I consider it outdated; as far as I know the m stands for member, and if I want to now a class member I take a look in the Object browser, or use the "Me" (this in c#) ex: Me._myFieldName therefore in my opinion -> m_ adds "nothing". As the previous post states, the _ is used for private members and therefore encapsulated by the class and you work with the public properties / methods instead i.o.w not that big of a problem (in my humble opinion) in contrast to language independence.
-
Well, since John Simmons got his new TV, he probably will be missing for about two days, but for the rest of you: It has been around two years I think since I have asked this question and I am curious as to if people have changed their minds. Do you use/like the "_" to prefix private members? I personal hate variables prefixed with with _underscores _as _it _can _make _reading _code() _a _pain! In the old days of Assembler and some C code, we lived with it all the time, but I had hoped to never see them again. Now much of the code released by MS has private members prefixed. So, what you think?
Rocky <>< Latest Code Blog Post: SQL Server Express Warnings & Tips Latest Tech Blog Post: Microsoft doing it again!
I hated it at first, but got used to it. I use 'm_' for member variables, and 'p_' for property variables. I still hate the underscore by itself, like '_this'.
David Veeneman www.veeneman.com
-
Well, since John Simmons got his new TV, he probably will be missing for about two days, but for the rest of you: It has been around two years I think since I have asked this question and I am curious as to if people have changed their minds. Do you use/like the "_" to prefix private members? I personal hate variables prefixed with with _underscores _as _it _can _make _reading _code() _a _pain! In the old days of Assembler and some C code, we lived with it all the time, but I had hoped to never see them again. Now much of the code released by MS has private members prefixed. So, what you think?
Rocky <>< Latest Code Blog Post: SQL Server Express Warnings & Tips Latest Tech Blog Post: Microsoft doing it again!
I'm not missing. I am working on a series of articles for CP since all the local roads are closed and I can't get to work. :) I only prefix compiler definitions with underscores, like so:
#define _USE_THIS_MSG_ WM_APP+1
I don't prefix variables with underscores, and don't embed variable names with underscores beyond the gratuitous "m_".
"Why don't you tie a kerosene-soaked rag around your ankles so the ants won't climb up and eat your candy ass..." - Dale Earnhardt, 1997
-----
"...the staggering layers of obscenity in your statement make it a work of art on so many levels." - Jason Jystad, 10/26/2001 -
I agree, using _ is just ugly and hard to type. Unfortunatly I'm stuck at a client right now who insists on using it. Reason? Because we've always done it that way :rolleyes:
only two letters away from being an asset
Mark Nischalke wrote:
Because we've always done it that way
Oh no, the dreaded "We have always done it that way"!!! :-D
-
I use - Pascal casing with "_" prefix for proivate members. - Pascal casing for local variables. - Camel casing for public properties, and all methods. This is meant to make reading code "easier". It's also Mirosoft naming BTW, you can find it in the class library developer guidance. Mohamed Ahmed Meligy Software Engineer SilverKey.us[^] - Egypt Branch http://GeeksWithBlogs.NET/Mohamed[^] -- modified at 0:42 Tuesday 16th January, 2007
Mohamed A. Meligy wrote:
class library developer guidance.
Just curious, but do you have a link for this. Whenever I look for this, I find a gazillion different styles being used in Microsoft example code.
-
Well, since John Simmons got his new TV, he probably will be missing for about two days, but for the rest of you: It has been around two years I think since I have asked this question and I am curious as to if people have changed their minds. Do you use/like the "_" to prefix private members? I personal hate variables prefixed with with _underscores _as _it _can _make _reading _code() _a _pain! In the old days of Assembler and some C code, we lived with it all the time, but I had hoped to never see them again. Now much of the code released by MS has private members prefixed. So, what you think?
Rocky <>< Latest Code Blog Post: SQL Server Express Warnings & Tips Latest Tech Blog Post: Microsoft doing it again!
I am very agreeable with the underscore since it takes advantage of Intellisense for seeing my private/protected fields quickly. It should not matter what you name a field because it should always be accessed through a property. What I would like to hear some opinions on is the naming of User Interface controls such that I don't want my default event handlers looking really crazy i.e. do you: btnValidate buttonValidate validateButton (something else) cneff78
-
Well, since John Simmons got his new TV, he probably will be missing for about two days, but for the rest of you: It has been around two years I think since I have asked this question and I am curious as to if people have changed their minds. Do you use/like the "_" to prefix private members? I personal hate variables prefixed with with _underscores _as _it _can _make _reading _code() _a _pain! In the old days of Assembler and some C code, we lived with it all the time, but I had hoped to never see them again. Now much of the code released by MS has private members prefixed. So, what you think?
Rocky <>< Latest Code Blog Post: SQL Server Express Warnings & Tips Latest Tech Blog Post: Microsoft doing it again!
I appear to be in the minority here but I *always* use the underscore to prefix private members. I do this for 2 reasons: 1.) As noted by another commentor, I consider the m_ wholly antiquated and sorely reminiscent of old school VB 2.) whenever I write a new class, especially in something like a data layer, I name my members the same as my field names in my database, but of course I have Properties also and then should also have the same name, so I end up with a simple _fieldName notation. It makes for eacy copy & paste. I'm right, that is all ;)
-
Can't stand _them. Sorry to butt in on this, but this is one thing I truly hate. Isn't this part of or all of the Hungarian notation? Which has historical roots in early programming?
No, it's not part of Hungarian notation. Hungarian notation was a programming practice that prefixed variables with the type (for example, iLoopCounter, dSalary, etc). The m_ or just plain _ prefix is a method to be able to use a good name in the class and as parameters. class myClass { string _name; public bool myFunction(string name) { _name = name; } } as an example. I think the m_ came into play when class global variables were directly accessable as it made it easier to read (nameClass.m_name is easier than nameClass._name), but with the shift to treating local variables as private and providing accessors, the m_ isn't as necessary and using the _ prefix preserves the "good" names and makes it easier to translate code between languages that are/are not case sensitive.
-
avanwieren wrote:
Isn't this part of or all of the Hungarian notation?
No. m_ is part of hungarian notation, but the main thing is to prefix the type as in m_hwndTheWindowHandle, m_nWindowCount.
Christian Graus - C++ MVP 'Why don't we jump on a fad that hasn't already been widely discredited ?' - Dilbert
Both Hungarian and use of underscores have their roots in C espeically those of us that lived in a flavor of unix. Amongst the development community I worked with in the late 80s, we used underscores to avoid name collisions between file scope and local variables. We used Hungarian notation to add type and pointer details to variables especially those defined as extern. With the advent of Object-Oriented programming and the concept of encapsulation, the need to know the type essentially became less useful and besides, as those that lived through maintenance of such code, misleading or erronous. From what I have seen, the use of underscores or prefix styles is usually done to avoid name collisions between class field/member declarations and parameter names that might be used in methods or constructor parameter lists. My opinion is that there are better means to do this by either avoiding the collision or use of a qualifying this. to scope to the correct member. Hence, I do not find use of prefix or underscores useful but can live with them if used consistently.
Don Eddleman Principal Enterprise Architect Healthways
-
Well, since John Simmons got his new TV, he probably will be missing for about two days, but for the rest of you: It has been around two years I think since I have asked this question and I am curious as to if people have changed their minds. Do you use/like the "_" to prefix private members? I personal hate variables prefixed with with _underscores _as _it _can _make _reading _code() _a _pain! In the old days of Assembler and some C code, we lived with it all the time, but I had hoped to never see them again. Now much of the code released by MS has private members prefixed. So, what you think?
Rocky <>< Latest Code Blog Post: SQL Server Express Warnings & Tips Latest Tech Blog Post: Microsoft doing it again!
-
Stick^ wrote:
Read a good discussion about it in Code Complete 2nd Edition.
I didn't get there yet, but yesterday I read capitol where is suggested that it might be good idea to prefix input parameters with i_, output parameters by o_ and parameters that will be modified by.... m_ ! :wtf:
"Throughout human history, we have been dependent on machines to survive. Fate, it seems, is not without a sense of irony. " - Morpheus
-
Well, since John Simmons got his new TV, he probably will be missing for about two days, but for the rest of you: It has been around two years I think since I have asked this question and I am curious as to if people have changed their minds. Do you use/like the "_" to prefix private members? I personal hate variables prefixed with with _underscores _as _it _can _make _reading _code() _a _pain! In the old days of Assembler and some C code, we lived with it all the time, but I had hoped to never see them again. Now much of the code released by MS has private members prefixed. So, what you think?
Rocky <>< Latest Code Blog Post: SQL Server Express Warnings & Tips Latest Tech Blog Post: Microsoft doing it again!
-
Well, since John Simmons got his new TV, he probably will be missing for about two days, but for the rest of you: It has been around two years I think since I have asked this question and I am curious as to if people have changed their minds. Do you use/like the "_" to prefix private members? I personal hate variables prefixed with with _underscores _as _it _can _make _reading _code() _a _pain! In the old days of Assembler and some C code, we lived with it all the time, but I had hoped to never see them again. Now much of the code released by MS has private members prefixed. So, what you think?
Rocky <>< Latest Code Blog Post: SQL Server Express Warnings & Tips Latest Tech Blog Post: Microsoft doing it again!
-
Mohamed A. Meligy wrote:
class library developer guidance.
Just curious, but do you have a link for this. Whenever I look for this, I find a gazillion different styles being used in Microsoft example code.
-
Well, since John Simmons got his new TV, he probably will be missing for about two days, but for the rest of you: It has been around two years I think since I have asked this question and I am curious as to if people have changed their minds. Do you use/like the "_" to prefix private members? I personal hate variables prefixed with with _underscores _as _it _can _make _reading _code() _a _pain! In the old days of Assembler and some C code, we lived with it all the time, but I had hoped to never see them again. Now much of the code released by MS has private members prefixed. So, what you think?
Rocky <>< Latest Code Blog Post: SQL Server Express Warnings & Tips Latest Tech Blog Post: Microsoft doing it again!
>Do you use/like the "_" to prefix private members? My habit is to use m_ for module level variables. I never make them public. If I want to expose its value, I use a property to get or set it. I use no prefix for variables whose scope is within the method. I also use a 3 letter prefix for the data type, e.g. strName, m_lngCount, etc. It is not the only way, but it is a way I like, it is readable, and I see no reason to change. I never saw a reason to simply use a "_". I remember the days when processor cycles and memory (RAM and disk) were at such a premium that code was cryptic. Those days have been gone for decades, so I saw no reason not to use more human readable names. JD Waleska, GA
-
We call' em fields.
"Throughout human history, we have been dependent on machines to survive. Fate, it seems, is not without a sense of irony. " - Morpheus
-
We call' em fields.
"Throughout human history, we have been dependent on machines to survive. Fate, it seems, is not without a sense of irony. " - Morpheus
-
Well, since John Simmons got his new TV, he probably will be missing for about two days, but for the rest of you: It has been around two years I think since I have asked this question and I am curious as to if people have changed their minds. Do you use/like the "_" to prefix private members? I personal hate variables prefixed with with _underscores _as _it _can _make _reading _code() _a _pain! In the old days of Assembler and some C code, we lived with it all the time, but I had hoped to never see them again. Now much of the code released by MS has private members prefixed. So, what you think?
Rocky <>< Latest Code Blog Post: SQL Server Express Warnings & Tips Latest Tech Blog Post: Microsoft doing it again!
-
Well, since John Simmons got his new TV, he probably will be missing for about two days, but for the rest of you: It has been around two years I think since I have asked this question and I am curious as to if people have changed their minds. Do you use/like the "_" to prefix private members? I personal hate variables prefixed with with _underscores _as _it _can _make _reading _code() _a _pain! In the old days of Assembler and some C code, we lived with it all the time, but I had hoped to never see them again. Now much of the code released by MS has private members prefixed. So, what you think?
Rocky <>< Latest Code Blog Post: SQL Server Express Warnings & Tips Latest Tech Blog Post: Microsoft doing it again!