Conventions/code/naming: Difference between revisions

From Woozle Writes Code
Jump to navigation Jump to search
No edit summary
No edit summary
Line 7: Line 7:
** '''or''': a '''ref''' object (see Value Types)
** '''or''': a '''ref''' object (see Value Types)
** '''os''': a '''status''' object (see Value Types)
** '''os''': a '''status''' object (see Value Types)
''see also General Affixes''
===Declaration Prefixes===
===Declaration Prefixes===
* '''c''': class
* '''c''': class
** '''cs''': static class (not intended to be instantiable)
** '''ca''': abstract class (cannot be instantiated)
** '''cs''': static class (not intended to be instantiable; all methods static)
* '''ch''': a string that is always a single character
* '''ch''': a string that is always a single character
* '''f''': [DEPRECATED; use namespaces instead] ferreteria class/trait/interface
* '''f''': [DEPRECATED; use namespaces instead]: a Ferreteria class/trait/interface
* '''if''': interface
* '''if''': interface
* '''t''': trait
* '''t''': trait
''see also General Affixes''
===General Affixes===
In the prefix but not necessarily the first characters:
* '''db''': a database
* '''rc''': a single-record class/object
* '''rs''': a recordset class/object
* '''t''': a table class/object
These are generally used only for classes and objects. For classes, the <code>c</code> prefix comes first; for objects, these can take the place of the <code>o</code> prefix, and sometimes may be the entire name of the variable.
==Value Types==
==Value Types==
* '''cell''' means access to a value in a named location (e.g. an array element)
* '''cell''' means access to a value in a named location (e.g. an array element)

Revision as of 17:19, 8 November 2021

For now, this is just notes on conventions I want to use within the code.

Prefixes

Variable Prefixes

  • n: a count (int); use f for float
  • o: object
    • or: a ref object (see Value Types)
    • os: a status object (see Value Types)

see also General Affixes

Declaration Prefixes

  • c: class
    • ca: abstract class (cannot be instantiated)
    • cs: static class (not intended to be instantiable; all methods static)
  • ch: a string that is always a single character
  • f: [DEPRECATED; use namespaces instead]: a Ferreteria class/trait/interface
  • if: interface
  • t: trait

see also General Affixes

General Affixes

In the prefix but not necessarily the first characters:

  • db: a database
  • rc: a single-record class/object
  • rs: a recordset class/object
  • t: a table class/object

These are generally used only for classes and objects. For classes, the c prefix comes first; for objects, these can take the place of the o prefix, and sometimes may be the entire name of the variable.

Value Types

  • cell means access to a value in a named location (e.g. an array element)
  • ref means a reference-container object (cReference)
  • slug means a string which can unambiguously represent any expected value or state of a given item
    • needed for representing record IDs in URLs, where one possible state is "new" (no ID yet)
  • status means a presence-info object
    • preferably descended from cThingHolder
  • unit means something that knows its own name and has awareness of its container-object/structure
    • preferably a PortRow Unit object
  • value means a read-only value, assumed to exist (throws error if not)