This article is under construction, send me an email if you would like to see other words here.
I often had trouble reading complicated explanations about some terms and the list here tries to make a definition that can be understood by normal human beings without theoretical mathematics and other higher level skills.
If a Database follows ACID rules then the operation will success and data will be stored or the operation will fail and the database remains in a safe state. Concurrent operations are handled transparently by the database. More
Law used to predict the maximum possible performance speedup when adapting programs to use more processors. More
Example: a function declares another function inside itself that uses its local variables. The inner function + local variables is called closure. More
A quantitative measure of a characteristic of the software source code. A simple metric is the amount of lines, or the ration comments/lines of code
Objects or components are tightly coupled if they highly depend on each other what hinders their reuse and extendabilty. More
Don't Repeat Yourself More]
A readable way to cascade and transfer a context to subsequent method calls. More
General Responsibility Assignment Software Patterns More
An immutable object cannot be modified after creation. More
A cryptosystem should be secure even if everything about the system, except the key, is public knowledge. More
Keep It Simple, Stupid! Avoid unnecessary complexity. More
Description of a function by mean of a statement binding parameters to an expression. For example: (x,y) ⇒ x*y defines an anonymous function that returns the product of the two arguments. This is often used to define delegates in a more readable way.
A derived class shall behave in the same way than the base class (keeping same semantics). More
A code metric representing the amount of decisions taken by a piece of code. Having complex code makes the maintenance and testing of that code harder and costly. Here is a small drop-in tool that computes metrics for you: ACQC metrics.
“software entities (classes, modules, functions, etc.) should be open for extension, but closed for modification” More
A derived class overrides a base class virtual method, the implementation is replaced by the derived one, this is done at run-time.
The same method has different implementations with different parameter types (in the same scope).
An architecture that is resource oriented (accessible over an URL for example) and follows the constraints of requests being cacheable and the requests holding all parameters needed for operation (no need to manage a state or session on server side) among others. More
A routine is said to be reentrant if while one thread is running the code, another thread can enter and run also the routine safely. Usually involves not using static variables or calling only reentrant functions. More
http://semver.org/, how to create/update versions according to these rules
Single responsibility, Open/closed, Liskov substitution, Interface segregation, Dependency inversion principles More
Time Of Check To Time Of Use: Security issue or bug caused by a change to a system between the check (where the conditions were ok) and the time at which a resource is used. Usually the solution consist into locking the resource before the check and while the resource is used. More