222
votes
Accepted
Is there a name for the (anti- ) pattern of passing parameters that will only be used several levels deep in the call chain?
The data itself is called "tramp data". It is a "code smell", indicating that one piece of code is communicating with another piece of code at a distance, through intermediaries.
Increases rigidity ...
189
votes
Accepted
Should I stop using the term C/C++?
C was never a subset of C++. The most obvious example of this is int new;. This has been true since C89 and C++98, and the languages have only grown further from each other as new standards have come ...
126
votes
Which way are downstream and upstream services?
The downstream services are the ones that consume the upstream service. In particular, they depend on the upstream service. So the front-end is downstream to the back-end because it depends on the ...
115
votes
What is a domain?
The domain is the real-world context in which you're attempting to solve a problem using software. Each domain comes with expertise, vocabulary and tools that are part of that domain.
A specific ...
113
votes
Accepted
Is cloud computing mainly just a marketing term?
The distinguishing feature of "cloud computing" is indeed the way that it is marketed, in particular, the way that it is priced.
Another synonym for "cloud computing" that I ...
107
votes
Is there a name for the (anti- ) pattern of passing parameters that will only be used several levels deep in the call chain?
I don't think this, in itself, is an anti-pattern. I think the problem is that you are thinking of the functions as a chain when really you should think of each one as an independent black box (NOTE: ...
106
votes
Accepted
What is the name for storing / packing many boolean states into one number?
It's most commonly referred to as a bit field, and another term you'll often hear is bit masks, which are used to get or set individual bit values or the entire bit field at once.
Many programming ...
100
votes
Why are bit masks called "masks" and what purpose do they serve?
A mask (of the facial variety) is something that covers up some parts of your face and lets other parts show through. The terminology is used by analogy in computing: a bitmask covers up (filters out)...
94
votes
Accepted
Software bug vs. software corruption
Software corruption is the contrary of software integrity. It's the same thing as data corruption, except that the data is the software code.
It can affect:
the software binary stored in memory: ...
82
votes
Difference between Algorithm and Code
Algorithm and code are different, but related things. The relationship is simple: Code expresses algorithms.
The same algorithm could be expressed in different languages, including natural language, ...
78
votes
Accepted
If I implement an Interface, is it called an Inheritance?
UPDATE: I've revised this answer. A number of good points were raised in the comments that deserved calling out.
If my class implements an interface then can I say that I'm following inheritance?
...
72
votes
Accepted
Difference between Algorithm and Code
In short, while there are differences in the specific meaning of the words, that civil engineer was being needlessly pedantic and balking at you not using his preferred word. There was no justifiable ...
69
votes
Accepted
Difference between hotfix and bugfix?
The term hotfix is generally used when client has found an issue within the current release of the product and can not wait to be fixed until the next big release. Hence a hotfix issue is created to ...
68
votes
Is there a name for the (anti- ) pattern of passing parameters that will only be used several levels deep in the call chain?
BobDalgleish has already noted that this (anti-)pattern is called "tramp data".
In my experience, the most common cause of excessive tramp data is having a bunch of linked state variables that should ...
65
votes
What does "representing" something in memory mean in OOP?
This question is not specific to software engineering: it applies to all disciplines working with information.
In 1929, the Belgian surrealist painter René Magritte explained it very intuitively in a ...
64
votes
Accepted
What term describes a list of exactly length 1?
Do not come up with a new word. Your name is perfectly fine: It is unambiguous and specific and consequently leaves no doubt to the reader what you are talking about.
By contrast, singleton, unary, 1-...
56
votes
What are "class methods" and "instance methods", in Python?
The short answer
an instance method knows its instance (and from that, its class)
a class method knows its class
a static method doesn't know its class or instance
The long answer
Class methods
A ...
55
votes
Why are bit masks called "masks" and what purpose do they serve?
A bit mask is used to mask some bits of a bit field while exposing others:
initial value: 011011001
bit mask.....: 111110000
result value.: 011010000
This has been used before computing in ...
55
votes
Accepted
Is there terminology for "true"ing, "false"ing, and toggling a boolean?
Setting a value to true is setting it
Setting it to false is clearing it.
Changing the current value is toggling it.
You can also use "setting it to true" and "setting it to false", of course.
48
votes
The meaning of asynchronous vs synchronous
I would like to give you an answer which is directly related to those definitions you found. When one task T1 starts a second task T2, it can happen in the following manner:
Synchronous: existing ...
47
votes
Accepted
What's the name for the 'spec' of a function/method?
Usually this is called a type signature.
A type signature includes the function's return type, the number of
arguments, the types of arguments, or errors it may pass back.
45
votes
Accepted
Is Node.js a framework?
It's a bit tough to say because these words are not well-defined. In common parlance, I think it's a bit atypical to call Node.js a framework, sure, but I'd have a hard time arguing as to why exactly ...
44
votes
Should I stop using the term C/C++?
Going against the flow I would say it depends on the context.
The term "C/C++" is usually not appropriate when saying something like "this is a C/C++ program", but this has been explored to depth in ...
43
votes
Is a memoized pure function itself considered pure?
Yes. The memoized version of a pure function is also a pure function.
All that function purity cares about is the effect that input parameters on the return value of the function (passing the same ...
42
votes
Is there a term for unimplemented code that was written for someone else to fill in?
I've seen the term “stub” being used.
For example, I believe that Eclipse automatically inserts a comment
String getName() {
// TODO: Auto-generated method stub
return null;
}
into its ...
41
votes
Accepted
What are "golden files"?
A "golden file" is the expected output of some test (usually automated), stored as a separate file rather than as a string literal inside the test code. So when the test is executed, it will read in ...
41
votes
What is a domain?
It simply means the problem space you are working in. For example, if you were building an e-commerce website your domain would be "e-commerce" and would involve the processes associated with your ...
Only top scored, non community-wiki answers of a minimum length are eligible
Related Tags
terminology × 757object-oriented × 36
design-patterns × 30
naming × 28
programming-languages × 27
history × 26
language-agnostic × 25
design × 24
java × 21
architecture × 21
documentation × 20
testing × 19
javascript × 17
c++ × 15
algorithms × 15
programming-practices × 15
api × 14
definition × 13
functions × 12
database × 11
python × 11
c# × 10
web-applications × 10
functional-programming × 10
data × 10