Coding and Development Standards - uiowaSEP2024/002_ImagePro GitHub Wiki

Code Reviews:

1 review required


Tools Used: Pycharm
Python version:3.10
Node version:20.11.1


Python Files:

  • use typing
def greeting(name: str) -> str:
    return 'Hello ' + name
  • add in docstrings
def function(a, b):
    """Do X and return a list."""

Naming conventions:

  • issues:

    • User Stories: The name is a short descriptive name. The description must follow the "As a ___, so that ___, I want ___" format and have acceptance criteria listed.
    • Feature Implementations: Detail the technical requirements and implementations of an enhancement to the project, are tied to a user
      story. Must be pointed using the Fibonacci scale labels
    • Chore: Fixes that are not associated to a specific user story but are updates that need to be done and documented
  • branches: Branch names should reflect the feature, bug, or task they're associated with, often including a type prefix and a short descriptor. Including an issue or task ID (if your project uses a tracker) can also be helpful for traceability.

  • PRs: Pull request titles should summarize the changes made, providing clear insight into what will be achieved by merging the PR. It's helpful to start with a type prefix, similar to branch naming, followed by a brief description of the change. Including the issue or task ID in the PR title can also enhance traceability and context.


ALL Commits must follow this template:

Prefix: Commit Stub

Commit message
  • BUG: - Fix for runtime crash or incorrect result
  • COMP: - Compiler error or warning fix
  • DOC: - Documentation change
  • ENH: - Improvement on current functionality
  • PERF: - Performance improvement
  • STYLE: - No logic impact (indentation, comments)
  • WIP: - Work In Progress not ready for merge
  • RM: - Removing files/ dead code
  • ADD: - Adding New functionality

Issue Creation

  • Issues must be created With a template

  • Issues must be assigned to a milestone and Project

  • Issues must have labels

  • Issues must be assigned to a developer

  • Issues must have start and end dates if completed

Issue Completion

  • On Completion of the Issue the developer must close the issue

  • On Completion of the Issue the project information must be updated