EQEmulator Forums

EQEmulator Forums (https://www.eqemulator.org/forums/index.php)
-   Development::Development (https://www.eqemulator.org/forums/forumdisplay.php?f=590)
-   -   Coding Style Guidelines? (https://www.eqemulator.org/forums/showthread.php?t=36576)

addingice 02-27-2013 04:47 PM

Coding Style Guidelines?
 
Does the code have a coding style guidelines?

I've got a couple of weeks of relaxation time coming up and I wanted to read through the EQEmu code base to get to understand it, I was wondering if we had a code style guideline since I could slowly reformat into the code style anything I find as I go.

KLS 02-27-2013 08:27 PM

Interesting you should ask! I've been writing some on and off for some time. Though some of the rules I want to implement are... contentious: (moving to spaces over tabs for instance) which sort of keeps me from fully committing to actually getting them out. In fact many of the stupid changes I've been making have sort of been a prelude to getting the entire source more organized and easier to work with.

So I guess the answer is technically "no but I'd really really like to soon".

c0ncrete 02-27-2013 11:15 PM

i approve of this thread.

Drajor 02-28-2013 01:08 AM

This would improve my quality of life.

addingice 02-28-2013 02:24 AM

VHS was a pretty shitty standard, BETA Max was definitely better. but, and this is key, VHS was a standard!

Any standard, any standard at all, is better than no standard.

the space vs tab thing can be automated with tools so it's not important, any decision there at least can be fixed.

post what you have and we can squabble like children over them! hehe

trevius 02-28-2013 03:07 AM

Quote:

Originally Posted by KLS (Post 218967)
(moving to spaces over tabs for instance)

I disagree with spaces over tabs. I think it would be fine to use spaces over tabs in cases such as structs or comments, just to standardize them, but for everything else (like tabbing out functions), I think spaces would suck.

Spaces are much harder to tell if you have the correct number of them for the current line you are writing. Of course, most editors will set you at the correct place automatically, but accidentally deleting an extra space will throw off the whole block you are working on if you keep working from that line on.

All decent editors allow you to tab out blocks of code by selecting the code and hitting tab X number of times. If you try that with space, it deletes your code and replaces it with a space. Even manually cleaning up formatting with this technique is much easier than doing it line by line with spaces.

If you are writing a new line of code and at the beginning of the line, you can hit tab a few times to put your code's start at the right position, but spaces would be a lot more. That is assuming you mean using multiple spaces in place of each tab. If planning to use a single space in place of each tab, that would just make it that much harder to read the format IMO.

Tabbing allows for easier movement around the source. I am sure there are alternatives to get around quickly, but tabs keep it nice and simple.

The only advantage I am aware of that spaces give over tabs is that all editors will display them the same so everything will line up no matter what you are using to view/edit the source. This is nice, but I think the benefits of tabs far outweighs a few comments (or whatever) not lining up. Maybe I am missing something?

I should have mentioned this in IRC when it was discussed a while back, but by the time I saw it the conversation had moved on and I forgot to get back to it.

Of course, it isn't my call and I am sure everyone can get by with whichever path is chosen. I just prefer stuff being easier/faster vs. lining up 100% of the time in every possible view. It will be great to have set standards for the project though. Many people are used to different styles and there is quite a mix in the source. At least with standards, some real formatting cleanup can be done throughout the source and not have people cleaning it up in their own way :)

demonstar55 02-28-2013 03:26 AM

Yeah, but all editors can be set up to have the tab key insert spaces. (all as in all but maybe notepad ...)

Drajor 02-28-2013 03:44 AM

IMHO one person should decide on the standard. Maybe this person can consult the other core devs about the decision privately. Allowing 'discussion' openly on this will just cause religious-like debate and waste time.

Any (commercial) software developers here that have joined an established company will most likely all have a similar story. They are handed the coding standard and expected to write code which conforms to it. End of story.

trevius 02-28-2013 03:59 AM

Quote:

Originally Posted by demonstar55 (Post 218987)
Yeah, but all editors can be set up to have the tab key insert spaces. (all as in all but maybe notepad ...)

That would help with some of the inconvenience of using spaces over tabs, but can you also configure them to backspace to delete a tab worth of spaces in a single button press? My carpal tunnel is bad enough that I try to keep things as minimal as possible when I can.

Pretty simple change to switch tabs to use space for Notepad++ here:
http://stackoverflow.com/questions/4...tabs-to-spaces

Either way, I like it when stuff works out of the box without requiring configuring stuff like editors to simplify things. No doubt people will be coding without awareness of that setting and it would be harder on them. Even if it is a simple configuration change, I think no change required is still best.

KLS 02-28-2013 09:35 AM

Decrease indent by a tab worth of spaces on any Windows editor worth something: shift+tab.

Pretty sure Vim has a way to decrease indent too but I don't use it enough to know how offhand.

Kayen 02-28-2013 08:56 PM

Quote:

Any (commercial) software developers here that have joined an established company will most likely all have a similar story. They are handed the coding standard and expected to write code which conforms to it. End of story.
This not a company though, it is a handful of people developing the source in their limited spare time. Making the process more burdensome may raise the level entry for new contributors and discourage others.

demonstar55 02-28-2013 09:34 PM

Quote:

Originally Posted by Kayen (Post 219036)
This not a company though, it is a handful of people developing the source in their limited spare time. Making the process more burdensome may raise the level entry for new contributors and discourage others.

But standardizing things can help with maintenance by the other devs

lerxst2112 02-28-2013 09:49 PM

Changing from tabs to spaces or the reverse can be a lot of fun with merges if your preferred diff program doesn't properly ignore whitespace/line endings.

http://www.hanselman.com/blog/YoureJ...InTheWall.aspx


The best standards are simple and lightweight, otherwise people just won't follow them, even at a professional job. Most of the ones I've written are 10 or fewer bullet points and all of the formatting issues are things that you can easily do with astyle or another formatting utility so that even if people prefer to work a different way they can easily make their code conformant before they check it in.

My personal preference has always been to use 4 spaces for an indent, but I'm fine with tabs too. In fact, tabs might be better for those mildly insane individuals that like 2 character indents, or the ones that were dropped on their heads repeatedly as children that use proportional fonts.

c0ncrete 02-28-2013 10:45 PM

hah. i just got through trying the 2 character indentation after looking at google's style guide. i had to take a shower afterwards.

wolfwalkereci 02-28-2013 10:55 PM

Quote:

Originally Posted by c0ncrete (Post 219040)
hah. i just got through trying the 2 character indentation after looking at google's style guide. i had to take a shower afterwards.

Lol man that cracked me up.
I support the idea of any standard the senior dev's put out.


All times are GMT -4. The time now is 04:14 PM.

Powered by vBulletin®, Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.