... |
... |
@@ -2,7 +2,9 @@ |
2 |
2 |
|
3 |
3 |
| -------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | |
4 |
4 |
| **Term** | **Explanation** | |
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. | |
|
5 |
+| Abstraction | |
|
6 |
+ |
|
7 |
+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. Duplicated logic can often be resolved by creating an 'abstraction' - an additional function containing the duplicated code. | |
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. | |
... |
... |
@@ -12,11 +12,12 @@ |
12 |
12 |
| Best Practices | Widely accepted guidelines designed to enhance programming productivity and code quality. Adherence can prevent many potential issues. | |
13 |
13 |
| Business | Non-technical decision makers in the organization developing the software. | |
14 |
14 |
| Business Value | The worth of a feature in terms of its benefit to the business. | |
|
17 |
+| Clean Code | A term coined by Robert C. Martin, see [[book recommendations|doc:Main.Recommended Books.WebHome]]. It means code that is readable, which means easy to understand and also maintainable, which means easy to change. | |
15 |
15 |
| Compile Time | The period when the code is compiled. Often used to distinguish from runtime. | |
16 |
16 |
| Concretion | The counterpart to 'abstraction'. Concretion is also known as 'implementation'. In OOP, it refers to non-abstract classes that implement the methods of interfaces or abstract classes. A concretion provides the 'concrete' code defining the workings of these abstract functions. | |
17 |
17 |
| [[Constructor Injection|doc:Software Engineering.Architecture.Dependency Injection.Types of Dependency Injection.WebHome]] | A type of dependency injection in which dependencies are provided to an object through constructor arguments. | |
18 |
18 |
| Command-Line Interface (CLI) | "[...] a means of interacting with a computer program by inputting lines of text [...]".^[[src](https://en.wikipedia.org/wiki/Command-line_interface)]^ For example, tools/commands used when working with a (Linux) terminal have a CLI. | |
19 |
|
-| Commitment | Binding promise to complete a specific task within a set period of time. | |
|
22 |
+| Commitment | A binding promise from one person to another to complete a specific task within a specified period of time. | |
20 |
20 |
| Component | Often used to refer to a set of units, modules, or "architectural" components without a clearer specification. In software architecture, it refers to a module capable of independent operation, often compiled or packaged into an executable such as a `.jar` or `.exe` file. | |
21 |
21 |
| [[Continuous Integration|doc:Software Engineering.Agile.Extreme Programming.Continuous Integration.WebHome]] (CI) | See link. | |
22 |
22 |
| Customers | Individuals who use the software product, focusing on the value it provides to meet their needs. | |
... |
... |
@@ -50,6 +50,7 @@ |
50 |
50 |
| Logical | The counterpart to physical. The abstract representation of something in software. For example, deleting a file from the desktop only logically deletes it, but actually moves it to the Recycle Bin, while the file physically remains on disk until the Recycle Bin is emptied. | |
51 |
51 |
| Magic | Code that performs complex tasks while abstracting away the complexity, presenting a simple interface to the user. | |
52 |
52 |
| Manager | Individuals responsible for planning, organizing, leading, and controlling a software project's resources, schedule, and deliverables to meet stakeholder expectations. | |
|
56 |
+| Object | A distinct entity that encapsulates data and behavior while providing an API for operations or indirect interaction with its data. Often an object is constructed from a class that has private fields while providing some private methods and some public functions for interaction. For example: `board = new ChessBoard(); board.printPossibleMoves(); board.doMove(...);` | |
53 |
53 |
| Operating System (OS) | The foundational system software that manages and coordinates all computer resources. Examples are Windows, MacOS and Linux. | |
54 |
54 |
| Overloading | Some programming languages offer the feature of overloading, which means that two operators with the same name can still be distinguished if they have different signatures. For example, these two functions are overloaded: `tripleNumber(n: float)` and `tripleNumber(n: int)`. | |
55 |
55 |
| Pain | An unpleasant experience caused by unnecessary efforts that could have been mitigated with better design of the original code. | |