Fifth Assignment——Alpha Sprint[Code Standards, Sprint Tasks, and Plans]

小福备考 2024-11-28 23:59:06
Which course does this assignment belong to2401_MU_SE_EE308
Where are the requirements for this assignmentFifth Assignment——Alpha Sprint
The goal of this assignmentTeam's code standards & current sprint tasks and plans
Team Name“ExamMastery Pioneers”

目录

  • 1. Code Standards
  • General Practices
  • 1.1.1 Indentation and Formatting
  • 1.1.2 Naming Conventions
  • Code Documentation
  • 1.2.1 Inline Comments
  • 1.2.2 Method Headers
  • 1.2.3 File-Level Comments
  • Version Control
  • 1.3.1 Workflow
  • 1.3.2 Commit Messages
  • 1.3.3 Pull Requests
  • Testing Standards
  • 1.4.1 Unit Tests
  • 1.4.2 Pre-Commit Hooks
  • 1.4.3 Continuous Integration (CI)
  • Additional Practices
  • 1.5.1 Code Reviews
  • 1.5.2 Refactoring
  • 1.5.3 Security Practices
  • 2. Sprint Tasks
  • Goals:
  • Task Breakdown
  • 3. Plans and Daily Schedule
  • Sprint Plans
  • 4. Personnel Arrangement
  • Project management
  • Front-end development
  • Back-end development:
  • Testing
  • Project documentation and reporting:
(Code Standards, Sprint Tasks, and Plans )


1. Code Standards

To ensure consistency, maintainability, and quality, the team has established the following comprehensive coding guidelines:

General Practices

1.1.1 Indentation and Formatting

  • JavaScript: Use 2 spaces for indentation.
  • HTML, CSS, and other markup languages: Use 4 spaces for indentation.
  • Braces: Place opening braces on the same line as the declaration for classes, functions, and control structures.
  • Semicolons: Always end statements with a semicolon.

1.1.2 Naming Conventions

  • Variables and functions: Use camelCase (e.g., fetchData).
  • Classes and components: Use PascalCase (e.g., UserCard).
  • Constants: Use UPPER_SNAKE_CASE (e.g., MAX_RETRIES).
  • File names: Use lowercase with hyphens for separation (e.g., user-profile.js).

Code Documentation

1.2.1 Inline Comments

  • Use inline comments to describe complex logic directly above the code block.
  • Avoid excessive comments; the code should be self-explanatory.

1.2.2 Method Headers

  • Every function must include a brief description, parameter details, and return type.

  • Example:

    def calculate_average(scores: list) -> float:
        """Calculates the average from a list of scores.
    
        Args:
            scores (list): List of numerical values.
    
        Returns:
            float: Average value of the input list.
        """
        return sum(scores) / len(scores)
    

1.2.3 File-Level Comments

  • At the top of every file, include metadata such as author name, creation date, and file purpose.
  • Example:
    // user-profile.js
    // Author: Jane Doe
    // Creation Date: 2024-01-01
    // Purpose: Handles user profile data and UI rendering.
    

Version Control

1.3.1 Workflow

  • Use GitHub flow for managing branches and releases.
  • Create feature-specific branches (e.g., feature/<task-name>).

1.3.2 Commit Messages

  • Write meaningful commit messages that describe the changes made.
  • Example: Add hover effect for cards in the sidebar.

1.3.3 Pull Requests

  • Pull requests should be reviewed by at least one team member before merging.
  • Include a clear description of the changes and the reason for the changes in the pull request.

Testing Standards

1.4.1 Unit Tests

  • Cover at least 70% of new code functionality with unit tests.
  • Use a testing framework appropriate for the language (e.g., Jest for JavaScript).

1.4.2 Pre-Commit Hooks

  • Use tools like ESLint and Prettier for linting and formatting checks before pushing code.
  • Configure pre-commit hooks to automatically run these tools and prevent poorly formatted code from being committed.

1.4.3 Continuous Integration (CI)

  • Set up a CI pipeline to automatically run tests and perform code quality checks on every push and pull request.
  • Use a CI service like Jenkins, Travis CI, or GitHub Actions.

Additional Practices

1.5.1 Code Reviews

  • Regularly conduct code reviews to maintain code quality and share knowledge within the team.
  • Provide constructive feedback and focus on improving the code rather than blaming the author.

1.5.2 Refactoring

  • Periodically refactor code to improve readability and performance.
  • Document the reasons for refactoring in the commit messages.

1.5.3 Security Practices

  • Follow security best practices to prevent common vulnerabilities (e.g., SQL injection, XSS).
  • Regularly update dependencies to patch known security issues.

By adhering to these standards, the team ensures that the codebase remains clean, efficient, and easy to work with, facilitating better collaboration and reducing the likelihood of errors.


2. Sprint Tasks

Goals:

  1. Establish navigation and layout structure (navigation bar, sidebar, and main content area).
  2. Implement hover effects and interactivity for cards.
  3. Set up responsive design for desktop and mobile devices.
  4. Conduct initial unit testing and bug fixes.

Task Breakdown

TaskDescriptionStatusEffort Estimate
Navigation Bar OptimizationRefine layout, add icons and quick linksCompleted6 task units
Sidebar Design and ResponsivenessAdd icons, organize links, ensure adaptabilityIn Progress8 task units
Card Interactivity and AnimationAdd hover effects and enhance visual cuesCompleted6 task units
Code Standards DocumentationEstablish and share coding guidelinesCompleted3 task units
Unit TestingWrite unit tests for UI componentsIn Progress7 task units

3. Plans and Daily Schedule

Sprint Plans

DayTaskDescriptionStatusEffort Estimate
Day 1Navigation Bar OptimizationRefine layout, add icons and quick linksCompleted6 task units
Day 2Code Standards DocumentationEstablish and share coding guidelinesCompleted3 task units
Day 3Card Interactivity and AnimationAdd hover effects and enhance visual cuesCompleted6 task units
Day 4Sidebar Design and ResponsivenessAdd icons, organize links, ensure adaptabilityIn Progress8 task units
Day 5Unit TestingWrite unit tests for UI componentsIn Progress7 task units
Day 6Sidebar Design and Responsiveness (cont)Continue work on sidebar design and responsivenessIn Progress8 task units
Day 7Unit Testing (cont)Continue writing unit tests for UI componentsIn Progress7 task units
Day 8Review and Bug FixesReview completed tasks and fix any bugsIn ProgressVaries
Day 9Finalize and Prepare for Next SprintFinalize current tasks and prepare for next phaseIn ProgressVaries

4. Personnel Arrangement

Project management

蒋修平
Overall project management, coordination and supervision.

Front-end development

吴旭炜 郑轶恒 李石龙煜
Responsible for front-end interface design and user experience.
Develop the core functions of the front-end interface.
Handle user authentication and security of the front-end.

Back-end development:

李文超 蒋修平 朱纪钧 陈子彦 巫昌书 林汪洋 童百川
Responsible for database design and management.
Develops the back-end logic and APIs.
Handles data storage and retrieval.

Testing

陈子彦 童百川
Responsible for unit testing and automated testing.
Responsible for system testing and quality control.

Project documentation and reporting:

吴旭炜 熊恒
Prepare project documentation including user manual and technical documentation.
Prepare project presentations and reports.

...全文
59 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

170

社区成员

发帖
与我相关
我的任务
社区描述
2401_MU_SE_FZU
软件工程 高校
社区管理员
  • FZU_SE_TeacherL
  • 助教-吴可仪
  • 助教-孔志豪
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧