Please submit an issue.
C++20 and CMake the primary tools in this project.
Steps for submitting a pull request
- Fork the Repo
- Make a new branch based off of the current dev branch
a.
git switch -c <new branch>
b.git remote add upstream https://github.com/raging-loon/Simula-24
c.git fetch upstream
- Make your changes + tests
- Make sure your changes actually work
- Run the unit test build
- Submit a pull request. Be clear with your description.
- Wait
- Wait some more
- Pat yourself on the back for making an OSS contribution. Linus would be proud.
- Delete your local branch
a.
git branch -D <new branch>
- Rebase with the current dev branch
b.
git pull --rebase upstream <current dev branch>
- 4 spaces - make sure your editor replaces tabs with spaces
- Allman Style Bracing. Each brace should have its own line. Not as picky with namespace declarations but try to keep it Allman.
- Header guards should be the full path to the file from the /simula24 directory.
- E.g.
/simula24/core/stl/array.h
would have the header guardCORE_STL_ARRAY_H_
- E.g.
- Absolutely no explicit multiple inheritance or I will slash your tires
- Multiple inheritence causes many many more problems than it solves.
- Consider using composition or re-thinking your design instead
- NO C++ STL. Except for
<type_traits>
- Use the Simula Template Library instead (
core/stl
) - Exceptions can be made until an appropriate template class is made for what ever you are doing
- Use the Simula Template Library instead (
- No exceptions
- Favor return codes/booleans instead
We are using Doxygen to generate documentation. Make sure every
- Class
- Function
- Variable
- Macro Is appropriately documented. Exceptions are those that are inherently self-documenting
Use '@' instead of '' for doxygen commands.
For Visual Studio, change the build to 'x64-unit-test' and run it.
For everything else, add the -DENABLE_TESTS=YES
to your CMake command when building.