Difference between revisions of "Programming/Style"

From HPC
Jump to: navigation , search
(Created page with "== Programming Standards == This page will lay out the basic programming style set by the Viper HPC Team ===Life Cycle=== As with all types of design there are several phas...")
 
m
Line 23: Line 23:
 
==Coding Standards==
 
==Coding Standards==
  
 +
===Commenting===
  
 +
===Naming Conventions===
  
 +
===Code Units===
  
 +
===Portability===
  
 +
==Code development==
 +
 +
==Code building==
 +
 +
A best practice for building code involves daily builds and testing, or better still continuous integration, or even continuous delivery.
 +
 +
===Testing===
 +
 +
Testing is an integral part of software development that needs to be planned. It is also important that testing is done proactively; meaning that test cases are planned before coding starts, and test cases are developed while the application is being designed and coded.
 +
 +
===Debugging===
 +
 +
Programmers tend to write the complete code and then begin debugging and checking for errors. Though this approach can save time in smaller projects, bigger and complex ones tend to have too many variables and functions that need attention. Therefore, it is good to debug every module once you are done and not the entire program. This saves time in the long run so that one does not end up wasting a lot of time on figuring out what is wrong. Unit tests for individual modules, and/or functional tests for web services and web applications, can help with this.
 +
 +
===Deployment===
  
  
Line 32: Line 51:
 
== Further Information ==
 
== Further Information ==
  
* [https://en.wikipedia.org/wiki/Best_coding_practices#Coding_standards https://en.wikipedia.org/wiki/Best_coding_practices#Coding_standards]
 
  
 
{|
 
{|

Revision as of 15:04, 31 July 2017

Programming Standards

This page will lay out the basic programming style set by the Viper HPC Team

Life Cycle

As with all types of design there are several phases of production from inception to production (and then maintenance through software updates).

Common methodologies include waterfall, prototyping, iterative and incremental development, spiral development, agile software development, rapid application development, and extreme programming.

Requirements

Architecture

Design

Easily the most important stage within the full life cycle and decisions made at this stage will have ramifications for the whole software. The main purpose of design is to fill in the details within the architectural design.

Choice of programming language(s)

Viper provides a large amount of different programming languages and can be extended to include software not included within this WIKI.

Coding Standards

Commenting

Naming Conventions

Code Units

Portability

Code development

Code building

A best practice for building code involves daily builds and testing, or better still continuous integration, or even continuous delivery.

Testing

Testing is an integral part of software development that needs to be planned. It is also important that testing is done proactively; meaning that test cases are planned before coding starts, and test cases are developed while the application is being designed and coded.

Debugging

Programmers tend to write the complete code and then begin debugging and checking for errors. Though this approach can save time in smaller projects, bigger and complex ones tend to have too many variables and functions that need attention. Therefore, it is good to debug every module once you are done and not the entire program. This saves time in the long run so that one does not end up wasting a lot of time on figuring out what is wrong. Unit tests for individual modules, and/or functional tests for web services and web applications, can help with this.

Deployment

Further Information

Icon home.png