... |
... |
@@ -6,9 +6,7 @@ |
6 |
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 |
|
-| Aside | An off-topic comment in the source code, which is usually to be avoided because it distracts from the main purpose of the code, making it harder to understand. | |
10 |
10 |
| 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)`. | |
11 |
|
-| Attribution | Something used to keep track of who wrote or modified a piece of code. Usually handled automatically by a source code control system like Git. | |
12 |
12 |
| Awareness | A class A is aware of class B if it contains a reference to class B in its source code. If no such reference exists, class A is unaware of class B. | |
13 |
13 |
| Behavior | Counterpart to implementation. It refers to the observable actions performed by a component. For example: A class may have the only observable method `sort(Collection: SomeCollection)`, which says what it does, but no implementation details like what concrete sorting algorithm is used. | |
14 |
14 |
| Best Practices | Widely accepted guidelines designed to enhance programming productivity and code quality. Adherence can prevent many potential issues. | |
... |
... |
@@ -61,8 +61,10 @@ |
61 |
61 |
| Problem Domain | The language/terminology used to describe the software requirements ("the problems") from the perspective of non-technical stakeholders. | |
62 |
62 |
| Production Code | Code that comprises the functioning part of an application, as opposed to test code. | |
63 |
63 |
| 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'. | |
64 |
64 |
| Requirement | Statement of what a software must be capable of doing, often outlining features, constraints, and success criteria. | |
65 |
65 |
| Resources | Refers to the assets used in the project, including time, money, staff, and effort. | |
|
65 |
+| Restructuring | Modifying code to improve its quality. | |
66 |
66 |
| 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. | |
67 |
67 |
| Rollback | The act of returning a system or data to a previous state, often using a snapshot. | |
68 |
68 |
| Rotting Code | Code that is increasingly difficult to maintain due to multiple changes that accumulate technical debt by not following best practices. | |