2009-04-16

Software reuse

Today I answered a survey about software reuse, by Manuel Sojer, that had an interesting definition.

The following activities are considered as reuse in this survey:

* Reusing of functionality from external components in the form of libraries or included files. E.g. implementing cryptographic functionality from OpenSSL or functionality to parse INI files from an external class you have included. Please do not count functionalities from libraries that are part of your development language, such as the C libraries.

* Reusing of snippets (several existing lines of code) copied and pasted from external sources. If you have modified the code after copying and pasting it by e.g. renaming variables or adjusting it to a specific library you use, this would still be considered as snippet reuse in this survey.

A resource is considered reused if it comes from a source outside of the focal project. I.e. using a snippet from file 1 of a project in file 2 of the same project would not be considered reuse while using a snippet from project 1 in project 2 would be considered reuse.


It also presented a nice classification of a software stack:

* Very low, e.g. operating systems, drivers
* Low, e.g. infrastructure software, libraries
* Middle, e.g. utilities, development tools
* High, e.g. end user applications
* Very high, e.g. plug-ins

No comments: