ptc-catalog

Adopting Consistent Coding Standards

Download this PTC (Markdown)

Target

Steadily convert the codebase over to an agreed-upon standard.

User Stories

As a person responsible for software quality and correctness for my project, I want guidance on selecting and implementing coding standards so that we can make our code easy for everyone to read and understand.

As a software developer on a project that has a defined coding standard, I want tool support so that I am complying with the standards with minimal additional effort or ambiguity.

Card(s)

Variant A: How will I measure when I have achieved my desired result?

Stage Description
0 No coding standard adopted.
1 Team has selected an agreed-upon standard.
2 New code that is written is required to comply with the standard, and the team has conducted a feedback session to assess and revise the standard.
3 The team has developed and put into place a refactoring plan to bring pre-existing code into compliance with the standard.
4 Tool support has been put in place to help ensure compliance, and running the tool is made part of contribution guidelines.

Variant B: What are the steps (tasks) I need to accomplish to achieve my goal?

Stage Description
0 No code (intentionally) complies with the standard.
1 All new code that is written is required to be compliant with the standard.
2 All changes to existing code are required to be compliant with the standard.
3 30% of remaining pre-standard code has been refactored to comply with the standard.
4 60% of remaining pre-standard code has been refactored to comply with the standard.
5 100% or more remaining pre-standard code has been refactored to comply with the standard.

Comments

Percentages used in Variant B may reflect number of lines in the code, team expertise for understanding and documenting code, timeline for this PTC and several other factors. When the team considers a task completed in the last step will vary from team to team.

Acknowledgement

This Project Tracking Card originated from the PSIP PTC Catalog. The development of the PSIP PTC Catalog was supported by the Exascale Computing Project (17-SC-20-SC), a collaborative effort of the U.S. Department of Energy Office of Science and the National Nuclear Security Administration.