Home
What's New
Dev Tools
Services
Feedback
Site Map

PowerBuilder Coding Conventions

This page provides a brief overview of the coding conventions used for PowerBuilder code on this site. Remember that there are many perspectives on coding standards. One important rule is that you pick a standard and stick to it.

General Presentation

Code within loops, If statements, Case statements, etc. is indented one tab (which is 3 spaces in width).

Major PowerBuilder keywords (IF, ELSE, CASE, END) are capitalized. Calls to PowerBuilder functions (e.g. GetItem, GetSelectedRow, etc.) are mixed case with the first letter of each word capitalized.

Variable Naming

Standard PowerBuilder Hungarian notiation is used, as follows:

 ab_VariableName   
 where "a" denotes the scope (i.e. local, instance, global) and
       "b" denotes the variable type (e.g. s for string, l for long,
            i for integer, etc.)
example: ls_CustName is a local string denoting Customer Name

Event Naming

User events (i.e. events that are not directly defined by PowerBuilder or PFC) are prefixed with a "ue_". This makes it easy to quickly identify events that you created in your application or extension layer. Since event names are sorted alphabetically, it also "groups" all your events at the bottom of the event list where they are easy to find.

Function Naming

Functions are given a prefix, depending on their access and location:

This function convention convention makes it easy to scan an object's functions and locate its callable functions (i.e. those with a "f_" prefix). The added side bonus is that when you read application code and see "f_" or "of_", you know which functions are extension/application functions (f_) and which are direct PFC functions (i.e. of_). Of course, native PowerBuilder functions(e.g. MessageBox) have no prefix at all.

Final Note

This is by no means a comprehensive set of coding standards. A complete PowerBuilder coding standards document will run at least 20 pages and can be very much longer, depending on the content that is included.


Copyright © Woodger Computing Inc.