Skip to content

CA-CST-SII/Software-Standards

Repository files navigation

CA/CST-Software-Standards

Introduction to the Standards Project

The Department of State, Bureau of Consular Affairs, Office of Consular Systems and Technology recognizes that the code quality standards between Bureau systems are inconsistently applied. This will ultimately harm the bureaus ability to unify these systems toward modern system architecture. By addressing the issue of code quality standards with widespread adoption, training, adaptation and monitoring of these standards throughout its family of business systems, tangible operational stability benefits including improved reliability, faster time to repair and resistance to security threats will principally follow suit. Improved system maintainability, performance and management transparency is anticipated when accompanied by corresponding software development life cycle processes and tooling. This "markdown" is a compilation of IT software quality standards, guidelines, and best practices, from a variety of resources both public and private sector which proposes both:

  • language agnostic code development guide
  • several detailed language specific style guides

This language agnostic guide gives general guidelines applicable to many different types of software code. These general guidelines increase the reliability, performance, security, and maintainability of all systems developed in compliance with this guide. The Language specific Guides contain detailed information about code formatting and best practices that further expand on the topics in the overarching agnostic guide. These standards are understood to be dynamic living documents subject to continuous improvement. The "markdown" approach will capture and document real time changes to architecture and Bureau constraints, as well as changes to industry best practices. Input from development staff, software engineering staff, leveraging both private and public sector personnel will be key to the development of the initial drafts and continual updates ensuring constant and continual refinement and quality of these standards.

Published standards

Consular Systems and Technology Division General Code Development Guidelines

Consular Systems and Technology Division Java Code Development Guidelines

Consular Systems and Technology Division JavaScript Style Guide

Consular Systems and Technology Division HTML Code Development Guidelines

Consular Systems and Technology Division CSS Code Development Guidelines

Consular Systems and Technology Division C# Code Development Guidelines

Consular Systems and Technology Division C++ Code Development Guidelines

Consular Systems and Technology Division Concept of Operations Guide

Consular Systems and Technology Division PHP Coding Standards

Consular Systems and Technology Division PHP Documentation Standards

Consular Systems and Technology Division Object Definition and Naming Standard

Consular Systems and Technology Division Business Process Execution Language (BPEL) Coding Practice

Consular Systems and Technology Division SQL Server Coding Standards

Consular Systems and Technology Division GitHub/GitLab md markdown guide

Oracle Application Guides

Adopted From GSA 18F

U.S. Web Design Standards

CAST rules and metrics

All rules

Draft standards

Draft Word Version Standards Docoments