Snippet (programming)
In computer programming, a snippet is a relatively small amount of source code that is stored and later inserted into a larger codebase as part of the process of writing the code. Some development tools such as a code editor or an integrated development environment (IDE) provide snippet management features to enhance productivity by allowing a developer to insert a fragment of code instead of typing it.[1] In contrast to an abstraction construct, such as a function, a snippet is a form of copy and paste programming – a macro operation that expands the stored template text and inserts the result into the source code.[2] Snippet insertion is similar to a preprocessor macro except that it's like inserting the expansion of the macro definition rather than referencing it. Changing the snippet after insertion does not affect the code as does changing the definition of a preprocessor macro. For this reason, best practice is to use a snippet only for relatively simple code such as a function prototype, control structure, or library import. A snippet is typically used when an abstraction is not available (i.e. not supported by the programming language) or not desirable (i.e. due to runtime overhead). A development tool that provides snippet management typically provides for maintaining a catalogue of stored templates that involves operations such as view, add, delete, edit, and rename. Notable tools that support snippet management include: Eclipse, NetBeans, Visual Studio and Dreamweaver. Snippet features like completion and placeholder substitution can be used in shells such as bash and PowerShell. Integrated development environments often supports snippet by implementing the Language Server Protocol which support snippets.[3] Types![]() Snippets can be classified according to the interactivity in using it, including:
PlaceholderA placeholder is a part of a snippet that is replaced at insertion-time. Generally, a placeholder has special markup syntax that allows the development tool to identify the boundaries of each placeholder so that it can replace it. Some tools provide a graphical user interface (GUI) in which the user can replacement values. A placeholder is usually delimited in a snippet with special syntax and may be identified by a name or a number. The following snippet text uses identified placeholders: Hello {%first_name%} {%last_name%},
Your shipment of {%item%} is now ready to pick up.
Thanks {%first_name%}!
With an identified placeholder, a snippet can use the same replacement value multiple times. In the previous example, the placeholder Transformation allows the user to indicate that one or more values supplied for a placeholder should be replicated and transformed in other places within the text of the programmable snippet. For example, the user may supply a document title in one part of the snippet, and specify that the document title should be repeated in other places, with the first instance being all-uppercase and every other instance being lower-case. ExampleThe algorithm of swapping the value of two variables, temp = x x = y y = temp To make the snippet more useful, the variable names are replaced with placeholders as: temp = $1 $1 = $2 $2 = temp When the snippet is inserted, the development tool might prompt the developer for more specific names to replace the placeholder names. For temp = foo foo = bar bar = temp If the snippet is subsequently changed, say to use AlternativesA common alternative to snippet use is the function which has the advantage that modifying its definition affects consumers whereas modifying a snippet does not modify existing insertions of the snippet. Many development techniques such as object-oriented programming and functional programming stress the avoidance of duplicate code which is counter to using snippets. Another alternative is the preprocessor macro which is available in C and many related languages. Related
See alsoLook up snippet in Wiktionary, the free dictionary.
References
|