The notion of coding standards in software engineering is somewhat subjective. In actual practice, organizations adopt and enforce coding standards to accomplish a set of business goals. Coding conventions and guidelines vary between industries, organizations, teams and perhaps even amongst projects.
In most situations, programmers embrace coding standards in software engineering to try to improve four distinct application attributes: maintainability, reliability, efficiency and usability.
Maintenance standards define how easily other developers can read, understand, modify and update the code. These coding standards are perhaps the most important and widely observed in software engineering, because software is often reused or distributed for decades longer than intended. Maintenance standards can dictate factors like comments, indenting code, the use of clear and meaningful variable names and digestible documentation.
Reliability and dependability standards pertain to elements such as bug rates, testing guidelines, requirements and any other issues that impact the software's ability to run error-free. Reliability standards aim to help software deal with errors gracefully when defects occur, rather than aggravating the user. Developers should write code that can deal with unexpected or erroneous inputs that might otherwise cause the program to fail. For example, if the end user enters numbers where letters are expected, do they receive a message directing them to change the input, or does the form fail to process?
Efficiency standards generally inform the way developers write software. These coding conventions present ways to make code reusable and minimize the software's overall resource requirements, such as its memory footprint. Efficiency standards typically exist as a series of tactics to create shorter, tighter code. As an example, developers can create callable modules for commonly used functions. This approach often eliminates repetitive or redundant functions that can eat up resources to execute a given task in the software.
Usability standards typically shape the UX of a given software project. These coding standards relate to input via keys, mouse or touch use, as well as menu and data display output. With these coding conventions, organizations can establish responsiveness or maximum latency demands, multilingual interfaces and help information, and aesthetic aspects of the software. For example, developers on a client/server application might opt to implement caching and asynchronous data storage to reduce the latency that is often involved with synchronous write commits.