222 votes

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 ...
BobDalgleish's user avatar
  • 4,654
189 votes

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 ...
xhainingx's user avatar
  • 1,432
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 ...
Derek Elkins left SE's user avatar
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 ...
Robert Harvey's user avatar
113 votes

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 ...
Jörg W Mittag's user avatar
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: ...
JimmyJames's user avatar
  • 25.1k
106 votes

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 ...
Glorfindel's user avatar
  • 3,137
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)...
Mason Wheeler's user avatar
94 votes

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: ...
Christophe's user avatar
  • 74.7k
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, ...
Theraot's user avatar
  • 9,001
78 votes

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? ...
Eric Lippert's user avatar
  • 45.8k
72 votes

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 ...
Flater's user avatar
  • 45.2k
69 votes

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 ...
m_d_p29's user avatar
  • 894
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 ...
Ilmari Karonen's user avatar
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 ...
Christophe's user avatar
  • 74.7k
64 votes

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-...
Peter - Reinstate Monica's user avatar
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 ...
Bryan Oakley's user avatar
  • 25.2k
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 ...
mouviciel's user avatar
  • 15.5k
55 votes

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.
user253751's user avatar
  • 4,863
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 ...
Doc Brown's user avatar
  • 200k
47 votes

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.
Kilian Foth's user avatar
45 votes

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 ...
J. Abrahamson's user avatar
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 ...
vsz's user avatar
  • 1,486
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 ...
Lie Ryan's user avatar
  • 12.3k
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 ...
5gon12eder's user avatar
  • 6,966
41 votes

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 ...
Michael Borgwardt's user avatar
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 ...
Becuzz's user avatar
  • 4,815

Only top scored, non community-wiki answers of a minimum length are eligible