uprm-inso4116-2024-2025-s1 / semester-project-SafeRUM

semester-project-safeRUM created by GitHub Classroom
7 stars 0 forks source link

Document the Progress of Prop Flow Optimization in React Native Application #272

Open JuanJRivera opened 4 days ago

JuanJRivera commented 4 days ago

Objective The objective of this task is to document the process of optimizing the prop flow in the React Native application. This will involve capturing the current state of the prop flow, the analysis to identify inefficiencies, and the steps taken to optimize the flow of props. The documentation will be used as part of the final project report to illustrate the improvements made.

Task Description This task involves documenting the entire process of optimizing the prop flow through the application's components. The documentation will cover initial analysis, prop flow mapping, identifying areas for improvement, and the actions taken to reduce prop drilling and improve performance. The focus is on providing a clear account of the optimization process, including any design changes and feedback integration. Visual diagrams and descriptions of the changes made will be included in the final report.

Implementation Collect Initial Data

Obtain details on how props are currently passed between components. Create an initial diagram that maps out the flow of props in the application. Analyze the Prop Flow

Examine the diagram to identify areas where prop drilling or excessive re-renders occur. Record findings, detailing specific inefficiencies and their potential impact on performance. Document Optimization Steps

Outline the strategies used to reduce prop drilling, such as component restructuring, React's Context API, or introducing state management. Capture the design changes, including refactored code or component adjustments. Feedback and Design Iterations

Document any feedback received during the optimization process and how it was used to refine the approach. Note any iterations made based on this feedback. Testing and Validation

Document testing results using tools like React Developer Tools to trace re-renders. Compare performance metrics before and after the changes. Subtasks Gather Initial Data:

Collect information about the current state of the prop flow. Create a visual diagram that represents how props are passed in the application. Analyze Prop Flow:

Identify areas where prop drilling or unnecessary re-renders are present. Document these findings for later reference. Document Changes:

Record the steps taken to optimize the prop flow, including code examples. Detail design changes and their intended impact on performance. Feedback and Iteration:

Capture any feedback given during the process and note changes made based on it. Testing and Performance Comparison:

Record the results of testing, focusing on render times and component updates. Include a comparison of the application’s performance before and after the optimization. Testing and Debugging Use React Developer Tools to trace prop flow and component re-renders. Compare performance before and after implementing changes by monitoring render times and detecting unnecessary re-renders. Document improvements made and any areas requiring further optimization. Deadline The documentation for this task will be completed by 9/10/2024.

lex939 commented 4 days ago

Before marking this issue as Completed, please specify where in the document (aka what sections) did the changes take place. Thank you.

JuanJRivera commented 4 days ago

Changes are done in 2.3.1 Selected Fragments of the Implementation.

lex939 commented 4 days ago

Loved the diagram!

However, these parts below are still missing. Please add. Thank you.

This will involve capturing the current state of the prop flow, the analysis to identify inefficiencies, and the steps taken to optimize the flow of props.

Identify areas where prop drilling or unnecessary re-renders are present.

Compare performance metrics before and after the changes.

Document any feedback received during the optimization process and how it was used to refine the approach.