-
Notifications
You must be signed in to change notification settings - Fork 28
Contributing
Home -> Developer Guide ->
General guidelines for contributing to the Cobol Check project, subject to change based on team agreements.
An interested party who exercises the product from the perspective of a user and attempts to discover edge cases and other conditions that cause the product to operate incorrectly or to fail altogether. A tester intentionally tries to make the product fail, and also pays attention to usability issues, inconsistencies and inaccuracies in the documentation, and any other factors that may affect users of the product. A tester submits detailed test reports to help the development team understand issues and defects in the product. A tester need not be a contributor or maintainer.
A native speaker of one or more languages who contributes to the project by translating and/or reviewing translations of localized text, such as log messages and error messages. An ambitious localization specialist may choose to translate the User Guide or other documents, as well.
A software developer who contributes to the code base, but does not have direct commit privileges. Contributors use the pull request process to submit changes to the project. A mentee or intern who has limited professional experience may be accepted in the contributor role. In addition, an experienced developer who is unfamiliar with techiques pertaining to continuous integration, automated testing, trunk-based development, or test-driven development, or who is new to the Java language, the Cobol language, the Gradle build tool, Git, or Github, may work in this role.
Also known as a committer and/or reviewer. A software developer who contributes to the code base and can commit directly to the main branch. Also responsible for reviewing pull requests from contributors and others. A maintainer differs from a contributor in that he/she understands how to write executable test cases or "checks" and how to run the executable test suite, as well as how to perform manual testing to ensure regressions are not introduced into the code base. A maintainer can also review code submissions for consistency with coding standards and naming conventions. A maintainer has access to update the documentation on the project wiki.
A maintainer who has two additional responsibilities:
- ensure the direction of development remains consistent with the project's purpose; and
- represent the project team with the Open Mainframe Project (OMP), and ensure the project conforms with OMP guidelines and requirements.
- Book: Git for Teams by Emma Jane Hogbin Westby. Especially Chapter 3, "Branching Strategies" and Chapter 7, "Teams of More than One"
- Book: Pro Git by Scott Chacon and Ben Straub, available for online reading free of charge
- Git documentation
- Git tutorial
- Github documentation
- Trunk Based Development
- Continuous Integration
- Gradle User Manual
- Using JUnit5 with Gradle
- SonarQube.io documentation
- IBM COBOL for z/OS Documentation Library
- GnuCOBOL Manual