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