Contributing Guidelines-
While on one hand our repository is a good place for beginners to contribute something useful to open source, on the other hand it is also a good place for experienced people to contribute something useful to open source. We welcome contributions from everyone.
However some people tend to spam the repository with irrelevant pull requests and get one PR for hacktoberfest and other such open source events. We do not want that to happen. So we have a few guidelines that we would like you to follow.
In case we find your PR not relevant or spam, we will mark it as invalid and it will not be counted towards hacktoberfest.
Why is program documentation important? -> The main purpose of program documentation is to describe the design of your program. -> The documentation also provides the framework in which to place the code. -> as coding progresses, the code is inserted into the framework already created by the program documentation. -> Documentation is important to tell other programmers what the program does and how it works. -> In the "real world" and in some classes here at BGSU, programmers often work in teams to develop code. -> Documentation helps others on the team to understand your work. -> Maintenance and debugging are needed sooner or later for most programs and these are frequently done by someone other than the original programmer. -> Documentation can help the programmer who is making the modifications understand your code. -> Documenting your program during development helps you to maintain your sanity.
When should program documentation be done? -> When designing your program, you must spend time thinking about how to structure your program, what modules are needed, and the algorithms and processes you will use in the modules. -> You must think about what sort of data structures and objects (e.g., arrays, files or linked lists) are needed. -> This thinking must be done before you start coding, or you will find yourself wasting time writing useless code that is full of errors. -> It is very important to record this creative process so that the programmers that follow you do not duplicate work that you have already done.
-> Before writing the code, you should write the documentation to describe the design of each component of your program. -> Writing documentation for the modules before writing the code helps you define exactly what each module should do and how it will interact with other modules. -> Focusing on the design and the steps needed to solve the problem can help prevent errors in the completed program.
What information should be in the program documentation? For an individual module, it is important to record (1) who has written the module, (2) when the module was written or modified, (3) why the module was written or modified, (4) how the module interacts with other modules, (5) what special algorithms were used, if any, and (6) acknowledge outside sources for ideas and algorithms.
For data structures, it is important to record (1) what data structure is used, (2) why a particular structure was used, (3) what data is contained in the structure, and (4) how the data structure is implemented.