CS373: Software Engineering

Summer 2018: 86360



Workflow

  1. estimate time to completion
  2. get a GitLab account
  3. set up GitLab issues
    1. add at least 10 issues from this workflow
    2. add at least 5 more issues, one for each bug or feature, with a good description and a label
  4. fork the public code repo (https://gitlab.com/gpdowning/cs373-collatz/) to become your private code repo (https://gitlab.com/GitLabID/collatz/)
    1. invited graders to your private code repo: Sid (siddhesh28), Taben (tabenjmalik)
    2. clone your private code repo onto your local directory
    3. after a successful build on GitLab CI, commit and push to your private code repo, resolving an issue in the issue tracker
    4. make at least 5 commits to the private code repo, one for each bug or feature
    5. if you cannot describe your changes in a sentence, you are not committing often enough
    6. make meaningful commit messages identifying the corresponding issue in the issue tracker of the private code repo (see automatic issue closing)
  5. run the given unit tests and acceptance tests, confirm the expected successes, and add, commit, and push to the private code repo
    • before continuing, confirm a successful build on GitLab CI, and then add, commit, and push to your private code repo.
  6. fix the given unit tests and acceptance tests, confirm the expected failures
    • write unit tests and acceptance tests that test corner cases and failure cases, and confirm the expected failures and add, commit, and push to the private code repo
  7. implement and debug the simplest possible solution with assertions that check pre-conditions, post-conditions, argument validity, and return-value validity, until all tests pass, and add, commit, and push to the private code repo
    • before continuing, confirm a successful build on GitLab CI, and then add, commit, and push to your private code repo.
  8. implement and debug any optimizations until all tests pass and add, commit, and push to the private code repo.
    • before continuing, confirm a successful build on GitLab CI, and then add, commit, and push to your private code repo.
  9. format your code with autopep8
  10. create a git log of your commits to the private code repo
  11. fork and clone the public test repo onto your local directory
    • copy your acceptance tests to your clone of the public test repo, rename the files, do a git pull to synchronize your clone, and then add, commit, and make a merge request to the public test repo
    • the filenames MUST start with GitLabID(owner of the repo)- in the public test repo
  12. run pydoc to document the interfaces to your functions/methods (Collatz.html)
  13. create inline comments if you need to explain the why of a particular implementation
  14. use a consistent coding convention with good variable names (see Google Python Style Guide)
  15. create a README file with the Git SHA of the private code repo, which can be obtained as follows: git rev-parse HEAD
  16. submit the assignment on Canvas

Copyright © Glenn P. Downing, 2008-2018