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

Coding style new appendix #151

Draft
wants to merge 3 commits into
base: new_features_2025
Choose a base branch
from

Conversation

fschledorn
Copy link
Collaborator

@fschledorn fschledorn commented Nov 23, 2024

@nick75g Thanks for the updates to the coding style appendix! I have a few comments:

  • Please don’t push to main or the release branch (new_features_2025) directly. Could you use a PR for this? It's important for code review and helps keep our commit history clean and understandable. Plus, using PRs makes our compile workflow action run more smoothly!
  • please make sure to rebase before making any more changes or merging the PR (see Fix compile workflow #155).
  • can you move the .cpp files into the files directory where all .cpp files are centrally managed and adjust coding_style.tex accordingly

Added file fizzbuzz.cpp for the clean code appendix, purposefully written without clean code conventions. Additionally added fizzbuzz_pretty.cpp; Same program, but with indents, code conventions, comments etc.
Updated coding_style paragraph about indenting and tabs; updated fizzbuzz_pretty to include some more examples of coding practices described in coding_style
Copy link
Collaborator Author

@fschledorn fschledorn left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@Xeldlie @Plebysnacc @calvalre
I have a few advanced suggestions what we could add:

  • Add a section on file structure: Discuss how to organize code within files, including #include statements, function prototypes, and using namespace std;.
  • DRY: Don’t repeat yourself and how to properly use encapsulation in that context
  • Introduce the concept of header files and header guards: Explain their purpose and how to use them correctly.
  • Discuss const correctness: Explain the importance of const for writing safe and reliable code.
  • Introduce linters and formatters: Explain how tools like clang-format can help enforce coding style and improve consistency.
  • Add "good vs. bad" code examples: Provide concrete examples to illustrate the benefits of good coding style.
  • Create refactoring exercises: Give students hands-on practice in improving code style.

@nick75g
Copy link

nick75g commented Nov 25, 2024

My bad! Internet was extremely unstable during the weekend and I didn't notice I was pushing to #148 instead of #151.

@fschledorn
Copy link
Collaborator Author

My bad! Internet was extremely unstable during the weekend and I didn't notice I was pushing to #148 instead of #151.

yeah no worries, just thought I’d tell you

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

Successfully merging this pull request may close these issues.

2 participants