Training activity information
Details
Review existing or legacy code and recommend amendments
Type
Developmental training activity (DTA)
Evidence requirements
Evidence the activity has been undertaken by the trainee.
Reflection on the activity at one or more time points after the event including learning from the activity and/or areas of the trainees practice for development.
An action plan to implement learning and/or to address skills or knowledge gaps identified.
Considerations
- Legislation and guidance
- Local conformance standards
- Verification, validation and fitness for current purpose
- Quality assurance
- Risk management and mitigation
- Documentation
- Communication skills
- Good programming practice including version control system, appropriate software tools etc.
Reflective practice guidance
The guidance below is provided to support reflection at different time points, providing you with questions to aid you to reflect for this training activity. They are provided for guidance and should not be considered as a mandatory checklist. Trainees should not be expected to provide answers to each of the guidance questions listed.
Before action
- What are the primary objectives of reviewing the existing or legacy code? What types of amendments or improvements might be necessary or beneficial (e.g., bug fixes, efficiency enhancements, improved readability)?
- What specific aspects of code quality (e.g., adherence to coding guidelines, clarity, efficiency, security) will you focus on during the review? What strategies or tools can you use to effectively identify areas for improvement and potential issues in the code? How will you approach formulating constructive feedback and recommending specific amendments?
- Have you been provided with the code to be reviewed, and do you understand its functionality and purpose? Are you familiar with any relevant coding standards, best practices, or local quality system documentation? Do you have access to any tools that might aid in code analysis or review?
In action
- Pay attention to your actions. How are you approaching the task of reviewing the code? What aspects are you initially focusing on? What tools or techniques are you using for the review? Why?
- What decisions are you making as you identify potential issues, understand the code’s functionality, and formulate recommendations for amendments?
- What aspects of code review feel intuitive, such as identifying obvious errors, and what requires more conscious effort, such as understanding complex logic or assessing code style?
- How effectively are your actions allowing you to understand the code and identify areas for improvement?
- What challenges are you facing in understanding the code’s purpose, logic, or structure? Are there any unclear or poorly documented sections?
- What can you learn from this process as it unfolds about reading and understanding existing code, and about making constructive recommendations for amendments?
- How does this activity connect to your knowledge of good programming practices and software design principles?
- Are there alternative review strategies you could be employing?
- What support or guidance might you need in this moment if you are struggling to understand the code or identify appropriate amendments?
- Are your recommendations for amendments clearly justified and practical?
On action
- Summarise the key aspects of the existing or legacy code you reviewed and the main amendments you recommended.
- What did you learn about reviewing code developed by others, particularly legacy code? Were there any unexpected insights or challenges in identifying potential amendments? How does code review contribute to good software engineering practice? How did your initial understanding of the code evolve as you reviewed it and considered amendments?
- What areas of code review and recommending amendments do you need to develop further? How will you apply this learning in future code reviews? What are your next steps to improve your code review skills, and what support might be helpful?
Beyond action
- Have you reviewed other pieces of code since this DTA? Did you become more efficient at identifying areas for improvement? Have you discussed code review best practices with colleagues?
- How has this activity improved your own coding practices, making you more aware of readability and maintainability? Has it prepared you for observing a review process?
- What transferable skills, such as attention to detail and critical appraisal, did you develop? What further actions can you take to enhance your code review skills, perhaps by learning more about coding standards and best practices?
Relevant learning outcomes
| # | Outcome |
|---|---|
| # 6 |
Outcome
Apply good software design and programming practice. |
| # 7 |
Outcome
Review and appraise code developed by others. |
| # 8 |
Outcome
Verify, validate and document software. |
| # 9 |
Outcome
Practice in accordance with legislation, ethics and best practice. |