... |
... |
@@ -3,7 +3,7 @@ |
3 |
3 |
| -------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | |
4 |
4 |
| **Term** | **Explanation** | |
5 |
5 |
| Abstraction | 1) The counterpart of 'concreteness', it refers to interfaces and abstract classes that define behavior (function signatures) but leave the internal implementation of those functions undefined. 2) A higher-level, generalized unit of shared code. Duplication across multiple functions can often be resolved by creating an 'abstraction' - an additional function containing the duplicated code. | |
6 |
|
-| Abstraction Level | For example, with functions, the level of abstraction refers to how general or specific the function is, with higher levels of abstraction representing broader, more general functionality and lower levels of abstraction representing more detailed, specific operations closer to hardware and I/O. | |
|
6 |
+| Abstraction Level | For example, with functions, the level of abstraction refers to how general or specific the function is, with higher levels of abstraction representing broader, more general functionality and lower levels of abstraction representing more detailed, specific operations. | |
7 |
7 |
| [[Acceptance Test|doc:Software Engineering.Agile.Extreme Programming.Acceptance Tests.WebHome]] | See link. | |
8 |
8 |
| [[Agile|doc:Software Engineering.Agile.WebHome]] | See link. | |
9 |
9 |
| Assertion | An assertion function, a crucial part of testing. If the input values don't satisfy a certain condition, the test containing the assertion fails. Example: `assertEquals(expectedResult, actualResult)`. | |
... |
... |
@@ -37,6 +37,7 @@ |
37 |
37 |
| Flag Argument | A flag argument is a boolean parameter passed to a function, signaling it to perform a specific operation or change its behavior based on the flag's true or false value. | |
38 |
38 |
| Functionality / Feature | An operation that a system can perform from the user's point of view. For example, the "login" functionality/feature on a website. | |
39 |
39 |
| Graphical User Interface (GUI) | A user interface that allows users to interact with the system through graphical elements like icons, buttons, windows, and menus. | |
|
40 |
+| Input / Output (I/O) | Refers to the communication between a software and the outside world, typically involving data transfer with the file system and networking. I/O operations are typically much slower compared to in-memory operations. | |
40 |
40 |
| Isolation/Isolated | The opposite of integration. Isolation is the separation of a unit or component from the rest of the system in order to test, develop or understand it independently and ensure that it works correctly without external interference. For example, in unit testing, a single unit is usually tested independently of other units and is isolated from them. | |
41 |
41 |
| [[Iteration|doc:Software Engineering.Agile.Extreme Programming.Planning Game.WebHome]] | See link. | |
42 |
42 |
| Implementation | The counterpart to behavior. It refers to the internal code that achieves a desired behavior of a component. For example, a sorting function might be implemented with a QuickSort algorithm. | |
... |
... |
@@ -58,8 +58,10 @@ |
58 |
58 |
| Problem Domain | The language/terminology used to describe the software requirements ("the problems") from the perspective of non-technical stakeholders. | |
59 |
59 |
| Production Code | Code that comprises the functioning part of an application, as opposed to test code. | |
60 |
60 |
| Programmer | Someone who writes and tests code. The knowledge level of a beginner. | |
|
62 |
+| Refactoring | Modifying code to improve its quality without changing its functionality. It is a subtype of 'Restructuring'. | |
61 |
61 |
| Requirement | Statement of what a software must be capable of doing, often outlining features, constraints, and success criteria. | |
62 |
62 |
| Resources | Refers to the assets used in the project, including time, money, staff, and effort. | |
|
65 |
+| Restructuring | Modifying code to improve its quality. | |
63 |
63 |
| Return of Investment (RoI) | The ratio of the business value gained from implementing a story to the effort/cost involved. A higher RoI means that something is more worth implementing than something with a low RoI. | |
64 |
64 |
| Rollback | The act of returning a system or data to a previous state, often using a snapshot. | |
65 |
65 |
| Rotting Code | Code that is increasingly difficult to maintain due to multiple changes that accumulate technical debt by not following best practices. | |
... |
... |
@@ -89,4 +89,5 @@ |
89 |
89 |
| [[Velocity|doc:Software Engineering.Agile.Extreme Programming.Planning Game.Agile and Data.WebHome]] | See link. | |
90 |
90 |
| Virtual Machine (VM) | A software emulation of a physical computer, able to run its own OS and applications as if it were a separate physical machine. | |
91 |
91 |
| [[Waterfall|doc:Software Engineering.Agile.Problems of Waterfall.WebHome]] | See link. | |
|
95 |
+| Whispers | Vague comments in the source code that imply code problems without clearly explaining or addressing them. | |
92 |
92 |
| Wiring | The process conducted by the IoC container to create and inject dependencies, facilitating application startup. | |