Talk:UDF-spec

From AutoIt Wiki
Jump to navigation Jump to search

This page is currently under construction by Mat. It is being ported from this page: [1]

All content has been copied across, but links may not work and formatting may be broken.

--Mat 09:28, 16 November 2011 (GMT)

Outdated information

New updates to AutoIt are including changes to the syntax. Certain sections of this document will need to be revisited.

Notes

  • 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.

Coding Practice

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.

Useful links:

--Mdiesel (talk) 01:38, 7 January 2013 (UTC) --guinness (talk) 06:57, 4 September 2015 (UTC)

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.