A starter repository that introduces with each other (friends), Java and Git.
Your team is working on a collaborative project to reinforce the understanding of basic Java programming concepts. Each team member is assigned a specific aspect to implement and document. The task is to simulate a collaborative code review workflow for these Java basics using Git.
- Initialize a new Git repository named "knowing-my-friends-java-and-git"
- Create a README.md file with a brief description of the project and a table of contents for the assigned tasks.
All of the above is already done. Just take a fork and clone the repository to your local.
- Each team member should create a new branch named after the assigned task (issue) with your first name (e.g.,
syntax-task-satya,variables-task-saugat). - Implement the assigned task in the branch, including proper documentation.
- Make at least three meaningful commits within the branch, incorporating iterative changes or improvements for the assigned task.
- Tag / mention the issue by
#issue_noin each commit message (eg.Implement basic Java syntax (#1)).
- Initiate a pull request (PR) for the task branch.
- Add detailed information about the task implementation and documentation in the PR description.
- Assign another team member to review the pull request for the task.
- The reviewer should provide constructive feedback on the task implementation and documentation within the PR comments.
- There must be at least 3 code reviews on each PR.
- Based on the feedback received, make necessary adjustments and additional commits within the task branch.
- After the code review is complete and there are no blocking issues, assign back the issue to me (Satya) by changing the label of the issue to
ready-to-merge. I will merge the task branch into the main branch.
- Introduce a simulated conflict by having two team members make conflicting changes in separate task branches.
- Resolve the conflict using Git and document the resolution process.
- After successful merging, delete the task branch.
- Ensure that the main branch contains your task implementations merged.
- Implement a Java class with basic syntax, including class declaration and the main method.
- Document the basic syntax using Java documentation comments.
- Implement a Java class showcasing primitive data types (int, double, char, boolean).
- Document each primitive data type and its usage using Java documentation comments.
- Implement a Java class showcasing wrapper classes (Integer, Double, Character, Boolean).
- Document each wrapper class and its usage using Java documentation comments.
- Implement a Java class that utilizes arithmetic operators (+, -, *, /, %).
- Document the usage of each arithmetic operator using Java documentation comments.
- Implement a Java class showcasing relational operators (>, <, >=, <=, ==, !=).
- Document the usage of each relational operator using Java documentation comments.
- Implement a Java class showcasing logical operators (&&, ||, !).
- Document the usage of each logical operator using Java documentation comments.
- Implement a Java class demonstrating variable declaration and initialization.
- Document the usage of variables using Java documentation comments.
- Implement a Java class demonstrating variable scopes (local, instance, class).
- Document the concept of variable scopes using Java documentation comments.
- Implement a Java class showcasing bitwise operators (&, |, ^, ~, <<, >>, >>>).
- Document the usage of each bitwise operator using Java documentation comments.
- Implement a Java class that demonstrates expressions and precedence rules.
- Document how expressions are evaluated based on precedence rules using Java documentation comments.