Use constants always

Link to this posting

Postby Ursego » 24 May 2013, 12:07

If a constant is defined in the application for a value you are using, ALWAYS use the constant rather then hard-coded value.

Sometimes, it's much easier to simply hard-code the values. But what if those system codes will be changed in the future? In fact, that's why we enjoy constants at all: it's enough to change one value (of the constant itself), and that change automatically spreads out through the whole application, so the existing logic keeps working everywhere. I don't believe you are against using constants in comparisons in PowerScript code. But if you use constants only there, it won't be really "through the whole application" - there are other situation when application codes are used. Some of them are described here.

Use constants in expressions

Use concatenation to utilize constants in all expressions - such as expressions for functions (Find(), SetFilter(), Modify() etc.) and expressions for Required and Protected properties of columns. For Protected property, use the uf_protect_col() function.

Populate Code Tables from constants

Creating a control with a Code Table (like DropDownListBox or RadioButton), populate its Code Table programmatically if constants are defined in the application for the added values (instead of hard-coding in the DataWindow painter). That is done using the SetValue() method of DataWindow. For example, you have to create a radio button for the field "payment_method" in your DW while constants n_payment_method.CREDIT_CARD (with value "C") and n_payment_method.PAYPAL (with value "P") exist in your system (see here):

Code: Select all
dw_payment.SetValue("payment_method", 1, "Credit Card~t'" + n_payment_method.CREDIT_CARD + "'")
dw_payment.SetValue("payment_method", 2, "PayPal~t'" + n_payment_method.PAYPAL + "'")

Use constants in SQL SELECTs of DWs

For that, pass them as retrieval arguments.
User avatar
Site Admin
Posts: 143
Joined: 19 Feb 2013, 20:33

Ketones are a more high-octane fuel for your brain than glucose. Become a biohacker and upgrade yourself to version 2.0!

Traffic Counter

eXTReMe Tracker