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

Major rework to improve code quality and add automation checks #805

Open
wants to merge 443 commits into
base: master
from

Conversation

@kvedala
Copy link
Contributor

kvedala commented May 29, 2020

Description of Change

  • Add cmake based structure
  • Include documentation building
  • Add GitHub Actions using cmake to check code compilation on linux (ubuntu), Mac OS and Windows (using MS Visual C++ compiler)
  • Add GitHub action to auto-generate documentation and push to repo's respective GitHub Pages -> this will create the website https://thealgorithms.github.io/C-Plus-Plus similar to https://kvedala.github.io/C-Plus-Plus
  • add documentations to various source codes including mathematical formulations where possible
  • fix cpp lint issues with existing files
  • fix source codes so they compile on all operating systems
  • github actions workflow improved by
    • adding auto format code and file name
    • stage-by-stage actions for efficient checks

This documentation approach will also enable other contributors to add documentation in their respective languages or use google translate to do so.

There is a pull-request (#795) for a smaller subset of the changes made

Checklist

  • Added description of change
  • Added file name matches File name guidelines
  • Added tests and example, test must pass
  • Relevant documentation/comments is changed or added
  • PR title follows semantic commit guidelines
  • Search previous suggestions before making a new one, as yours may be a duplicate.
  • Sort by alphabetical order
  • I acknowledge that all my contributions will be made under the project's license.

Notes:

kvedala added 30 commits May 28, 2020
Documentation for files in the folder `others`
* document/others:
  fix happy number code and documetnation
  added see also reference to fibonacci
* document/math:
  replace printf & scanf with std::cout and std::cin
  documented factorial
Fix Doxygen CI to use doxygen v1.8.18
@kvedala
Copy link
Contributor Author

kvedala commented Jun 8, 2020

@kvedala there are some file which are not using doxygen comment style are we suppose to ignore those too in this PR?

Yes please, only if these are the files that exist in the parent repo. All code that I have written includes extensive documentation.

@kvedala
Copy link
Contributor Author

kvedala commented Jun 8, 2020

Please note that before merging, some links will need to be updated to reflect to parent repo links. These can be done in one last commit

Signed-off-by: Krishna Vedala <7001608+kvedala@users.noreply.github.com>
@kvedala
Copy link
Contributor Author

kvedala commented Jun 8, 2020

@mishraabhinn could you please also help @ayaankhan98 to review this pull. It is quite an extensive one trying to improve the standards of this repo.
Thank you.

@ayaankhan98
Copy link
Contributor

ayaankhan98 commented Jun 8, 2020

i have reviewed approx 160 files, half of them are still remaning

@deadshotsb
Copy link
Member

deadshotsb commented Jun 8, 2020

@ayaankhan98 appreciate your work, then I am starting from file 161.

@kvedala
Copy link
Contributor Author

kvedala commented Jun 8, 2020

I wish there was a better way to do this but the repo is so bad that to fit it up consistently, it was the best I could. I tried to help by pointing to the merges to master branch - and still think that would be the easiest thing to do.

@ayaankhan98
Copy link
Contributor

ayaankhan98 commented Jun 8, 2020

@kvedala we are have finished half of the work, it will take some more time then we are all done, further improvement will be easy as after this PR we have automation checks

@kvedala
Copy link
Contributor Author

kvedala commented Jun 8, 2020

@kvedala we are have finished half of the work, it will take some more time then we are all done, further improvement will be easy as after this PR we have automation checks

Thats the goal - that from this point on, the documentation, program execution checks, etc would all be streamlined - simplifying it for both the authors and the reviewers.

kvedala and others added 9 commits Jun 8, 2020
Signed-off-by: Krishna Vedala <7001608+kvedala@users.noreply.github.com>
Signed-off-by: Krishna Vedala <7001608+kvedala@users.noreply.github.com>
Signed-off-by: Krishna Vedala <7001608+kvedala@users.noreply.github.com>
Signed-off-by: Krishna Vedala <7001608+kvedala@users.noreply.github.com>
Signed-off-by: Krishna Vedala <7001608+kvedala@users.noreply.github.com>
Numerical methods - LU and QR decomposition of matrices
Signed-off-by: Krishna Vedala <7001608+kvedala@users.noreply.github.com>
Signed-off-by: Krishna Vedala <7001608+kvedala@users.noreply.github.com>
@mishraabhinn
Copy link
Contributor

mishraabhinn commented Jun 9, 2020

@mishraabhinn could you please also help @ayaankhan98 to review this pull. It is quite an extensive one trying to improve the standards of this repo.
Thank you.

I have np @kvedala in doing that, I have forked this for contribution only. If @ayaankhan98 can guide me little bit I will happy to help because of new to all this.

kvedala added 4 commits Jun 9, 2020
rename CONTRIBUTION.md to CONTRIBUTING.md #836
Copy link
Contributor

ayaankhan98 left a comment

#836 fixed

kvedala added 4 commits Jun 9, 2020
Added Gitpod support - online IDE to create, edit and pull programs, build and test run
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Linked issues

Successfully merging this pull request may close these issues.

None yet

6 participants
You can’t perform that action at this time.