Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Discuss style guides #19

Open
aaronbloomfield opened this issue Jun 21, 2017 · 0 comments
Open

Discuss style guides #19

aaronbloomfield opened this issue Jun 21, 2017 · 0 comments

Comments

@aaronbloomfield
Copy link
Collaborator

From aaronbloomfield#68:

Style guides are important to good software engineering at scale. They help programmers to produce shareable and less-buggy code, and they encourage programmers to think about language design and capabilities.

As far as I recall, style guides aren't covered in the UVA curriculum. They are a more software-engineering-oriented topic than many things in this course; however, I think they would fit in well in explaining some of the patterns (INCLUDE guards, file breakup, references v. const references v. pointers). Also (in my limited experience) there's more variety in C/C++ style guides than in Java, so covering them in 2150 could help.

Some examples: http://google-styleguide.googlecode.com/svn/trunk/cppguide.html (I like the "don't use non-const references" rule.) http://lars-lab.jpl.nasa.gov/JPL_Coding_Standard_C.pdf

A follow-up:

Let me ponder this for a bit. It would definitely fit in the capstone course, and I want to think about how best to present this in PDR...

Another follow-up:

I agree with @cceckman. It is worth considering because I've heard there might have been students in the past who don't know what tabs are (or even as extreme as writing everything on one line).

It's worth enforcing some semblance of style -- i.e., "if your code is unreadable, -5" or something. I know Sherriff and Horton used a similar rule (for unformatted code) in 1110 and 2110.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant