Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • Item properties
    • All items in PhixFlow have a description property. We recommend you add a description to any item you create.
      Anybody looking at a model or application will first look at the descriptions of the items within it.  For example, in an analysis model, they should be able to discern the flow and the high-level logic of the model just from the descriptions.
    • In analysis models, the stream description should explain the use of input or output multipliers. This it typically a significant part of any model.
    • Ensure that attributes that represent the same thing in different streams have the same name. PhixFlow needs this when processing merges and for a union in a calculate stream.
  • Formatting expressions
    • Add comments to document your expression using:
      • // for a single line comment
      • /* ... */ to enclose multiline comments
    • Include blank lines between statements
    • Use spaces within expressions
    • Indent sub-clauses by 4 spaces

Naming Conventions

Multi-word stream attribute and pipe names should be in camel case.

Excerpt

All user-defined variables must start with the $ character. 

  • To distinguish between $-variables that are:
    • local use a lowercase first letter, for example $percent
      Local $-variables are only used in the current attribute.
    • global use an uppercase first letter, for example $Percent
       Global $-variables are used in the expressions for other stream attributes.
  • For multi-word names, use no spaces and camel case.

Multi-word stream attribute and pipe names should also be in camel case.

ForExample 
Examples
stream attributeMainCompanyName
pipeinPipe
global $-variable$CompanyLocationCounter
local $-variable$companyOldAddress


Tip

Camel case uses an uppercase letter for the start of each sub-word, for example $ThisIsCamelCase. As we recommend having no spaces, this makes the name readable.

Layout for if() 

if( condition, Statement 1 , // else Statement 2 )

...

To make it easier to see that statements are correctly bracketed, the closing bracket should always line up with the start of the statement.

Layout for switch()

Code Block
switch( 
    [ condition expression 1, Statement 1 ], 
    [ condition expression 2, Statement 2 ], 

// default _NULL 
)

...