Stata Coding Practices: Programming (Ado-files)
Programs and ado-files are the main methods by which Stata code is condensed and generalized. By writing versions of code that apply to arbitrary inputs and saving that code in a separate file, the application of the code is cleaner in the main do-file and it becomes easier to re-use the same analytical process on other datasets in the future. Stata has special commands that enable this functionality. All commands on SSC are written as ado-files by other programmers; it is also possible to embed programs in ordinary do-files to save space and improve organization of code.
Read First
This article will refer somewhat interchangeably to the concepts of "programming", "ado-files", and "user-written commands". This is in contrast to ordinary programming of do-files. The article does not assume that you are actually writing an ado-file (as opposed to a program
definition in an ordinary dofile; and it does not assume you are writing a command for distribution. That said, Stata programming functionality is achieved using several core features:
- The
program
command sets up the code environment for writing a program into memory. - The
syntax
command parses inputs into a program as macros that can be used within the scope of that program execution. - The
tempvar
,tempfile
, andtempname
commands all create objects that can be used within the scope of program execution to avoid any conflict with arbitrary data structures.
==The program
command