Subroutine is the provisional term I’ll use for a chunk of reused logic
in programming. In most languages this will consist of some kind of name
and signature involving parameters and return value or values, along
with a body which contains the implementation, though this term is also
seems general enough to cover reuse without that type of interface (such
as in assembly or Forth).
<p>
Potentially the most common name for such a construct is
"function", though I'm reluctant to use that too generally
due to the utility of the mathematical definition which
doesn't apply to "impure functions".
</p>
<p>
In object-oriented languages the term "method" may be used
which is appropriate when working with an instance but gets
stretched a bit when there's a desire to define functions that
then masquerade as "static methods" even if they don't
interact with their surrounding namespace (i.e. operating on
class-wide data)...but more of warts with overuse of
object-oriented programming will be covered separately.
</p>
<p>
Finally potentially on the opposite end of "function" would be
"procedure" which is not particularly in fashion but at least
seems to imply action/side effects which may not always be
appropriate.
</p>
</section>
<section>
</section>
</article>