Reference
Last updated on 2025-10-24 | Edit this page
Glossary
- Research Software Engineer (RSE)
- RSEs combine expertise in programming with an understanding of research methods to make research software reliable, reusable, and reproducible.
- reproducibility
- ability for someone (including the original author) to obtain the same results using the same data, code, and methods.
- version control
- a system that tracks changes to code and documents over time, enabling collaboration and rollback to previous states. Example tools: Git, typically used with platforms like GitHub or GitLab.
- repository
- structured storage space for code, documentation, and configuration files, managed by a version control system. It serves as the “home” of a project where collaboration and review happen.
- Integrated Development Environment (IDE)
- software that provides a unified environment for writing, debugging, and testing code. Example tools: Visual Studio Code, PyCharm, RStudio.
- code quality
- degree to which code is readable, maintainable, and free of defects. Enhanced through consistent style, refactoring, automated testing, and static analysis (e.g., linters).
- linting
- process of automatically checking source code for stylistic errors, potential bugs, or deviations from coding standards. Example tools: flake8, pylint, black (Python).
- unit testing
- writing small, automated tests that verify individual parts (“units”) of code behave as expected. Improves confidence in code correctness and supports refactoring.
- Continuous Integration (CI)
- a workflow that automatically tests and validates code whenever changes are made (e.g., when someone pushes to GitHub). Reduces integration issues and ensures consistent code quality.
- issue tracking
- a system for recording, prioritising, and managing bugs, tasks, and feature requests. Encourages transparency and project management within teams. Example tools: GitHub Issues, Jira.
- documentation
- Written guidance that helps others understand, install, and use your code or software. Includes README files, inline comments, tutorials, and API references. Good documentation is essential for reuse and collaboration.
- code review
- The practice of having others inspect your code before it’s merged into the main branch. Improves code quality, knowledge sharing, and consistency within a team.
- Open Science / Open Research
- A movement to make research outputs (data, software, papers) accessible, transparent, and reusable by others. Software engineering practices support this goal by improving reproducibility and sustainability.