In this lab, you’ll work with issue trackers and coding standards, and you’ll roll out your team prototype.
The Emerson quote given above is discussed at length in the PEP 8 — Style Guide for Python Code. Consistency can be taken too far, but is, generally, valuable on team projects.
We’ll use GitHub’s issue tracker to record and process external issues, in particular, issues that arise in the upcoming user tests.
Create a test issue on your team’s client repo named with your user ID. Give it an appropriate label, assign it to yourself, and enter a list of changes you need to make (e.g., the integration of code standard checks in the next lab exercise) as the comment.
We’ll check for an issue under your name for grading. You can close it when you’ve completed the code standardization started in the next exercise.
It’s interesting to consider how to integrate issues with our current use of Trello. The CS 262 course materials provide: a sample GitHub issue and a corresponding Trello task.
We’ll use ESLint to enforce coding standards and GitHub actions, workflows, and branch protection to integrate them into the development process.
Integrate ESLint into both your team’s client and server applications using CI workflow as follows. Have one team member do the following, starting with the client.
Pull the latest version of your client repo and then do the following locally.
feature/eslint
branch.package.json
that runs
“eslint .
”.
npm run lint
). It will
likely generate numerous syntax errors, which your team
will fix below..github/workflows/eslint.yml
work flow specification into your repo in the
appropriate place.See the Monopoly Client repo for examples of all of this code.
Do the following on GitHub.
main
(yet).main
branch by going to
Settings→Branches and requiring
“approvals” (if that’s not already
set) and a “status check” based on the
eslint
workflow you created.
Feel free to edit the lint configuration to allow/disallow certain syntactic patterns as your team chooses.
For this lab, you may not have time to fix up all the lint errors, but we’ll check that each team member has committed/pushed one module of fixed code to the new branch for the PR.
Your team will need to finish the client repo and then do the same for your service repo for this sprint.
To prepare your construction deliverable prototype for testing, do the following:
Run your pilot usability test with me before Thanksgiving break and before you run any other students (particularly students from outside this course).
Create GitHub issues for significant incidents (i.e., observed, potential failures that must be investigated) that occur during this or the other user tests.
Contact your assigned test subjects, complete the tests, and report the results by the beginning of the next lab period. We expect you to take reasonable steps to connect with your subjects: email them up to two times if necessary to schedule a testing time; if they miss the time twice and it’s difficult to reschedule, then give up on them.
Here, we make plans for the next (last!) sprint.
Participate in your team meeting. Important topics include: