This page is currently under construction by Mat. It is being ported from this page: 
All content has been copied across, but links may not work and formatting may be broken.
--Mat 09:28, 16 November 2011 (GMT)
New updates to AutoIt are including changes to the syntax. Certain sections of this document will need to be revisited.
- There are a number of places where current headers differ slightly from these standards.
- Structures aren't using the Related field. It was added here as it is looked for by the docs generator, and should be there anyway.
- Structures have a varied naming convention, not always following the rule of including the type notation. Particularly StructureConstants.au3.
- The header for _WinAPI_GetMousePos isn't as it appears above, but it should be.
- Variable naming is still a matter of personal style. As long as it's readable and makes sense then it is acceptable. That part remains a guideline as opposed to a standard.
- There probably needs to be two versions of this document. One for MVPs working directly with the UDFs and examples and another for other community members working on non-standard UDFs.
This page does not currently cover coding practices other than naming conventions. The topic of programming best practice is very broad and so I have no intention of adding it to this page.
Variable naming conventions
The variable prefix system is only designed to be a recommendation. The idea is that variable naming should be something someone else can read and understand easily.
A usage prefix is preferred to a type prefix. For example, dll struct strings are always prefixed $tag, rather than $s. If there is a logical usage prefix then it should be used rather than the type prefixes showed.
There is also discussion about floats and boolean prefixes here.