Software Tools Flashcards

1
Q

What is software version control?

A

A systematic way to manage concurrent versions of software artefacts - documents, source code, data etc

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Why do we need software version control?

A
  • 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
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

What consists of a git model?

A
  • 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
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

What are the types of branch?

A
  • 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
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

What are the types of merging

A
  • 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)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

What is the definition of build management?

A

Build management/automation tools aim to “automate” the process of building (compiling) software - e.g make, Apache Ant

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

What is the definition of debugging?

A

Debugging refers to finding and fixing bugs in software

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

What techniques do you currently use for debugging?

A
  • Randomly change code and hope it works?
  • “Debug by printf”
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

What is the definition of breakpoint?

A

A predetermined line where your code will pause, allowing you to inspect its state; the contents of variables, any active methods

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

What is the definition of watch expression?

A

An expression that you want to see the value of

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

What is the definition of Step over?

A

Jump to the next line of code, “stepping over” any method calls in this line.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

What is the definition of Step into/Step out of?

A

Jump into the code of the method in the particular line and jump out of the method call

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

What is the definition of BAGEL

A

Basic Academic Graphical Engine Library(BAGEL) is a custom graphics for Java

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

What is the input class?

A
  • 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
How well did you know this?
1
Not at all
2
3
4
5
Perfectly