Programmer’s Standards

Programmers Tools:

Reporting: MS Access, Crystal, Active, MS Word, MS Excel, Oracle BI Discoverer, Noetix, Oracle BI Publisher

Scripting Languages: ASP.net(C#), ASP classic (VB Script), PHP, javascript (AJAX, jquery), Coldfusion, PL/SQL

Database: Oracle, MS Access, MS SQL Server, MySQL

Internet Browser: IE, Firefox

Developing Tool: Toad, Zend Studio, Dreamweaver, Text Editors, Oracle SQL Plus, Tortoise, Subversion, Visual Studio, Stylus Studio

Documentation Tools: MS Word, Visio, MS Excel, PDF,

Coding Conventions:

·  Code readability:

o  Use proper indentions

o  Use whitespace

·  Comment block at the top of any scripting page should contain:

o  Creation date

o  What it’s about

o  Who created

o  Why

o  Version (number and date)

o  List objects that are used in the script

·  Comments in the body of the script:

o  Every function should have a description of what it does

o  Every added (changed, edit) function needs to have: programmer’s initial, date, reason

·  Exception (error) handling (method is optional to programmer):

o  System error message should be formatted to the End User’s understanding

o  All programmers should have error handling

·  Variable Naming:

o  sql<VarName> for sql statements

o  int<VarName> for integers

o  dt<varName>for date

o  str<varName>for string

o  num<varName>for number

o  chr<varName>for char

o  dbl<varName>for double

o  lng<varName>for long

·  DB Objects and Variable Name Case (upper/lower):

o  PHP SQL statement have to be upper case

o  Table, view, column names, key words - to be in upper case

o  PHP should adhere to variable naming standards listed above

·  Data Validation:

o  Maintain entered data (web world)

o  Data validation (ex. Input masks, duplication, required)

·  Object Oriented Programming

o  Currently Object Oriented is not standard

·  Custom DB Object Naming:

o  Should start with “NEO_”

o  End with the abbreviation of the DB object

§  NEO<name>_V (view)

§  NEO<name>_Tbl (table)

§  NEO<name>_Fn (function)

§  NEO<name>_Sp (stored procedure)

§  NEO<name>_P (procedure)

§  NEO<name>_Trg (trigger)

o  NEO prefix does not apply for in house developed application

·  Version Control: (Currently only for in-house web apps)

o  Tortoise (version control client)

o  Subversion (software used for version control)

o  Version control should be on dev, prod environments

o  Number of revised script Versions to keep

·  Unlimited on all environments

·  Include Files: (Functions)

o  Houses Global Functions (Ex. Function to see if user is site manager, page manager, or regular user)

o  Addition to the Global Function file should be reviewed by a Sr. Programmer

§  This will keep functions from being duplicated.

o  The Includes file and the Functions file should only be modified by Sr. Programmer

o  Application Specific functions should be located in the apache\htdocs\modules\app_name

§  If necessary you can have a sub directory

o  Function Naming

§  Use meaningful name

o  Include comments to describe each function’s purpose

·  User Schema

o  Provide DBA’s SQL script to create schema

o  All apps have to have their own schema(oracle user)

o  Naming convention

§  Relevant to the app

o  Validate DB objects with DBA (Ex. Duplicate records, objects)

·  When Database offline (only for Oracle Ebusiness):

o  If production DB is offline – Application should point to Test to tables that are a copy of production

o  All HR data should be accessed from the HR test site

·  JQuery

o  Use downloaded version

§  Do not connect straight to the online source

o  Download source to the page directory(Include file folder)

o  Standard name for the downloaded source file “jquery.js”

·  AJAX methods to bypass “Page not valid” error

o  Exit method: Calling the module page

o  Dummy record method

·  DB connections

o  All DB connections should be in one file

Application Access:

·  CO- OPs only have access to dev and test

·  All programmers should have access to all applications

·  All application access information should be on programmers secure web page

Testing:

·  Testing environment

·  Testing scenario document

·  Peer testing

·  CO-OP testing

Documentation:

·  Request Solution Documentation

o  Source Code

o  Flow Chart using Visio

o  Description of document

o  End User Signoff

o  Functional Requirement

o  Screen shots

·  Troubleshooting Documents

o  IP address (in spreadsheet on programmers web page)

o  Username/Password (in spreadsheet on programmers web page)

o  How to resolve Common issues

·  Documentation location

o  Track-IT

o  Programmers Web page

1