This page lists information/tips/reminders for maintaining this website.
If a programming language is added to the cheat sheets, update these pages in this order: cheatsheets.js Search Programming Language Cheat Sheets The Universal Function Library Project [feature recommendations] Online Compilers Timeline of New Features - Programming Language Comparison Documentation Links - Programming Language Cheat Sheets
What's New? Remember to add a 'year' header for each year. JEE.js Remember to keep the date up-to-date.
Variables names are typically of the form vValue and oObj. Note: 'v' for values, don't use 'b'/'f'/'n'/'i'/'s' for bools/floats/numbers/ints/strings. This convention is uncommon, but aids readability/maintainability. It also avoids name collisions with built-in constants, with variable names typically working in all programming languages. For Excel and SQL variants, use 'My' instead of of 'v'/'o' For Excel, sometimes use 'A1' for key variables (e.g. instead of 'MyText'). For SQL variants, sometimes use 'MyCol' for key variables (e.g. instead of 'MyText'). Some generic return value variable names: vRet (return), vBool, vTextNew, oArrayNew. Further variable names: vPfx/vIfx/vSfx: for prefix/infix/suffix.
Some key points to consider when copying and pasting from one language as a template for other languages. PHP variables need the '$' prefix. AutoHotkey uses ':=' not '=' for assignment. Go uses ':=' most of the time for creating variables, but this can also be done with '=' (and slightly different syntax). Python often uses ':' at the end of lines.
Typical tags within square brackets, include: [also [note [can use [e.g. [WARNING [requires [or [for 'UFL' lines only] [type [beforehand [MAJOR WARNING [afterwards [see also [item order [algorithm [version [inverse [alias [deprecated [workaround [non-standard [e.g. for BBCode]
'UFL' lines should be of the form: UFL: MyFuncName [or MyFuncNameAlt1/MyFuncNameAlt2][function description][function notes 1][function notes 2][see also: MyOtherFunc1/MyOtherFunc2] 'UFL: (MyFuncName)', in parentheses, indicates a function of lower priority. '___' indicates no content. However, on the Operators and Symbols page... '[none]' is more common. For the dates page, there are additional rows: 'JavaScript (Temporal)'.
Ideally, the text version of the website, i.e. copied and pasted into Notepad, should be fairly readable. I.e. in particular, the number of blank lines between items. See '[FIX]' on the What's New? page for potential issues affecting website layout.
At present, all code on the website is permitted to use the latest JavaScript. The exception is JEE.js, the functions should be compatible with Internet Explorer 11, so that they can be used with HTMLFile objects in Windows. JEE.js E.g. some nested loop text manipulations are faster using JavaScript in an HTMLFile object, than using native AutoHotkey code.
Two key terms to use regarding errors are 'syntax error' and 'throw'. Code that fails before execution is typically a syntax error. Syntax errors are a subset of compile-time errors. (An example of a compile-time error that isn't a syntax error, is a missing include file.) Code that fails during execution is typically described as throwing (or a runtime error).