Software Tools Flashcards
What is software version control?
A systematic way to manage concurrent versions of software artefacts - documents, source code, data etc
Why do we need software version control?
- Individual: allows you to keep a version saved and be able to revert back to the previous version if necessary
- Team: allows developers to write and test code locally before including that to code base
What consists of a git model?
- Repository: A collection of files to be stored by the version control system, together with some metadata to keep track of them
- Remote repository: A repository maintained in a remote server (e.g GitHub, Bitbucket, GitLab)
- Local repository: A repository maintained in the local directory in .git sub directory
- Index (Staging Area): A conceptual place for staging the changes in .git sub directory
- Working directory: The local directory where the files are kept and modified
What are the types of branch?
- Master: the current “known good” codebase
- Branch: a version of the codebase being worked on (e.g security-support, UI-improvements)
- Commit: a snapshot of a branch
What are the types of merging
- Merging: incorporating the changes in one branch to another
- Merge request: a request to merge completed feature branches into the master branch (also referred to as a pull request)
What is the definition of build management?
Build management/automation tools aim to “automate” the process of building (compiling) software - e.g make, Apache Ant
What is the definition of debugging?
Debugging refers to finding and fixing bugs in software
What techniques do you currently use for debugging?
- Randomly change code and hope it works?
- “Debug by printf”
What is the definition of breakpoint?
A predetermined line where your code will pause, allowing you to inspect its state; the contents of variables, any active methods
What is the definition of watch expression?
An expression that you want to see the value of
What is the definition of Step over?
Jump to the next line of code, “stepping over” any method calls in this line.
What is the definition of Step into/Step out of?
Jump into the code of the method in the particular line and jump out of the method call
What is the definition of BAGEL
Basic Academic Graphical Engine Library(BAGEL) is a custom graphics for Java
What is the input class?
- passed as an argument to the update() method
- can be used to work with the keyboard and mouse
- has methods to check key press and mouse click events