Difference between revisions of "Coding Standards"

From FusionPBX
Jump to: navigation, search
(Coding standards)
(Coding standards)
Line 1: Line 1:
 
==Coding standards==
 
==Coding standards==
* '''General'''  
+
* '''General'''
** function and method names
+
** class names
 +
*** intuitive
 +
*** lower case
 +
*** words separated with an underscore
 +
** method names
 +
*** intuitive
 +
*** lower case
 +
*** words separated with an underscore
 +
** function names
 +
*** intuitive
 +
*** lower case
 +
*** words separated with an underscore
 +
** variable names
 +
*** intuitive
 
*** lower case
 
*** lower case
 
*** words separated with an underscore
 
*** words separated with an underscore

Revision as of 16:10, 10 October 2012

Coding standards

  • General
    • class names
      • intuitive
      • lower case
      • words separated with an underscore
    • method names
      • intuitive
      • lower case
      • words separated with an underscore
    • function names
      • intuitive
      • lower case
      • words separated with an underscore
    • variable names
      • intuitive
      • lower case
      • words separated with an underscore

Applications

  • apps are stored in fusionpbx/app directory
  • root.php
    • ensures the document_root server variable is set and then sets the include path from the root of the website
  • app_config.php
    • application
      • app_name
      • app_uuid
      • app_category
      • app_subcategory
      • app_description
    • menu
      • defines location in the menu
    • permissions
      • defines the permissions the application uses
      • and the default groups assigned to those permissions
    • data schema
      • define the structure of the field names, and types
  • app_defaults.php
    • is run during the install and when upgrade schema is called
  • app_languages.php
    • defines a php array of the words, phrases and sentences used in the project
  • Files
    • names
      • written in lower case
      • words are seperated by an underscore
      • use full words when possible
      • do not prefix with 'v_' files that are currently prefix in this way will be renamed to remove the 'v_'
    • program showing invisible spaces
      • to eliminate tabs and spaces at the end of a line
    • line feed only
      • no carriage return and line feed

Database

  • tables
    • prefixed with v_ this may be configurable in the future
    • tables names are plural unless the name is used is an Acronym
    • use full words not abbreviations
    • uuids used for relational id instead of auto increment identifiers
  • fields
    • domain_uuid
    • primary key name is defined by for the table use the name of the table without
      • How to create the primary key name
        • If the table name is v_users take remove the 'v_', make it non-plural and add '_uuid' to the end of the field name. In this example the primary key would be user_uuid