Skip to content

Latest commit

 

History

History
51 lines (39 loc) · 2.89 KB

CONTRIBUTING.md

File metadata and controls

51 lines (39 loc) · 2.89 KB

Contribution Guide

QArchive is a small library that modernizes libarchive using C++ and Qt5 , So you need to go through libarchive's
documentaion and Qt Docs.
You don't need to be an expert in any of these because everyone is learning and I specifically want this project to
welcome new contributors and let them know how a open source project works. All contributors and those who wish to
contribute must follow the code of conduct. Thats the basics that you need to know to get started!.

Reporting Issues

Before you open an issue make sure you have no duplicates. Feel free to open an issue to ask anything but make
sure you follow the issue template which will not be that hard. Be specific about your issue if its a bug or a
feature request to make it easy for the developers to implement it. And last but not the least , Thank You for your Time! ❤️

Developing QArchive

If you wish to develop some code for the project then you are much welcomed. open a pull request and also make sure to follow the pull request template. And you need to follow the following rules when updating the source files.

  • You must follow the google coding style.

  • You can use Artistic Styles to automatically format your code to follow the google coding style.

     $ astyle --style=google src/*cc include/*hpp
     $ rm src/*orig include/*orig # remove old files.
    
  • You can use clang-format command to format automatically.

     $ cd QArchive
     $ clang-format -i src/*.cc include/*.hpp
    
  • You must follow google's conventions for c++ file extensions , (i.e) for source file(s) you must use .cc extension and for header file(s) you must use .hpp.

  • Use comments only to write why we need a class or a function and not what.

  • If you create a new method then you must be consistent as other methods.

  • You can do whatever with private slots and can return any type if you desire , but make sure it is efficient.

  • Update the docs if you add any new method to a public class.

  • Do not add unwanted file(s) and doing so will make your pull request invalid.

After making changes to the source file(s), open a pull request and give a good title and mention any issues related to this pr(if found any). Thats it! And last but not the least, Thank You very much for Contributing! ❤️

Reference

libarchive - https://github.com/libarchive/libarchive
google coding style - https://google.github.io/styleguide/cppguide.html
astyle - http://astyle.sourceforge.net/
Qt Documentation - https://doc.qt.io/qt-5/