Difference between revisions of "User:Kebap"

From Mudlet
Jump to navigation Jump to search
Line 48: Line 48:
  
 
==functionName==
 
==functionName==
;functionName(arg1, arg2, [optionalArg3])
+
;returnValue = functionName(arg1, arg2, [optionalArg3])
 
: What the function does. In this case, it is just a non-existing function with the only purpose to show, how to write documentation for functions
 
: What the function does. In this case, it is just a non-existing function with the only purpose to show, how to write documentation for functions
  
Line 76: Line 76:
 
functionName("arg1", "arg2")
 
functionName("arg1", "arg2")
 
</syntaxhighlight>
 
</syntaxhighlight>
 
  
 
== Standardized error messages in code ==
 
== Standardized error messages in code ==

Revision as of 18:48, 12 February 2021

About me

Mudlet user and script developer, hailing from MorgenGrauen (German).

Projects

  • Enable Discord group "Testers" to (de-)register themselves via Discord reactions done! :)
  • Learn how to make small PR like above with Smart Git instead of github web interface done! :)
Me with a few buddies
  • Improve Mudlet documentation, which is not interesting for Mudlet users, but only for (some) developers.
    • Including definitions on internal functions,
    • discussions and decisions on coding style conventions,
    • standard procedures like Release Checklist, update lua function list for autocompletion,
    • This is done by adding Categories like "Mudlet Developer Manual" or "Mudlet Admin Manual"
    • etc.
  • Look into improving a11y (accessibility) of Mudlet client and website, etc.

Examples for formatting

API documentation of a function as used in Manual:Lua_functions:

functionName

returnValue = functionName(arg1, arg2, [optionalArg3])
What the function does. In this case, it is just a non-existing function with the only purpose to show, how to write documentation for functions

See also: copy, paste

Note Note: This is an important information

Mudlet VersionAvailable in Mudlet3.5+
Parameters
  • arg1:
What arg1 is/does. Passed as a string.
  • arg2:
What arg2 is/does. Passed as a string.
  • optionalArg3
(optional) The name needn't be telling. Relevant is to mark optional arguments at the start of this line (with text "optional" in brackets) and in the function definition line (with [these] brackets)
Returns
  • whatever the function returns.
Example
--a small example snippet of the function in action
--the comments up top should introduce it/explain what the snippet does
functionName("arg1", "arg2")

Standardized error messages in code

Old style, not very informative:

    if (!lua_isnumber(L, 1)) {
        lua_pushstring(L, "createMapLabel: wrong argument type");
        return lua_error(L);
    }
    int area = lua_isnumber(L, 1);

New style with additional information:

    if (!lua_isnumber(L, 1)) {
        lua_pushfstring(L,
                "createMapLabel: bad argument #1 type (areaID as number expected, got %s!)",
                luaL_typename(L, 1));
        return lua_error(L);
    }
    int area = lua_tointeger(L, 1);