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.
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