What this opportunity is
The Department of Commerce is seeking services related to the USPTO Enterprise Cloud Modernization, specifically focusing on Java coding standards as outlined in the latest version of their coding guidelines. This opportunity falls under NAICS 541519 and is not set aside for small businesses, making it open to all types of contractors. Interested vendors should note that this is a solicitation notice, indicating that they can submit bids for the project. The work is to be performed in Virginia.
Analysis by Mindy, grounded in the SAM.gov notice.
Description
USPTO Java Coding Standard
Version 4.1 Page 1 of 25 June 4, 2024
USPTO/OCIO
USPTO Java Coding Standard
OCIO-STD-003
Version 4.1
June 4, 2024
-- 1 of 25 --
USPTO Java Coding Standard
Version 4.1 Page 2 of 25 June 4, 2024
Record of Changes/Version History (Version History)
Version
Number
Date of
Change
Sections Affected Type of Change
4.0 June 2,
2020
All • Removed outdated sections from version
3.0
• Adopted a subset of the Google Java
Style Guide under CC-By 3.0 License
4.0.1 October
6, 2020
6.6 • Add more details and examples
4.0.2 October
14, 2020
• 3.1
• 6.7
• 8
• Modified section 3.1
• Added section ‘Secure code’
• Added references to Java Language and
Virtual Machine Specifications, Secure
Coding Guidelines for Java SE, and SEI
CERT Oracle Coding Standard for Java
4.1 April 12,
2024
• 1.4, 3.3.3, 4.1.2,
4.1.3, 4.2, 4.4-4.7,
5.2, 6.2.3, 6.3,
7.1.1
• 1.5
• 6.8 - 6.14
• 8.7, 8.8
• Modified sections 1.4, 3.3.3, 4.1.2, 4.1.3,
4.2, 4.4-4.7, 5.2, 6.2.3, 6.3, 7.1.1
• Adopted a subset of the Google Java
Style Guide under CC-By 4.0 License
• Added sections to reflect updated Java
standard and coding practice
• Added references to Developing with
Spring Boot and Spring Boot Style Guide
-- 2 of 25 --
USPTO Java Coding Standard
Version 4.1 Page 3 of 25 June 4, 2024
Table of Contents
1 Introduction .................................................................................................................... 6
1.1 Purpose .................................................................................................................. 6
1.2 Benefits.................................................................................................................. 6
1.3 Scope ..................................................................................................................... 6
1.4 Office of Primary Interest ....................................................................................... 6
1.5 Relationship to Policies and Other Standards ........................................................... 6
1.6 Document Conventions........................................................................................... 7
1.6.1 Fixed-Width Font ........................................................................................... 7
1.6.2 Sample Code .................................................................................................. 7
1.6.3 Section 508 Compliance ................................................................................. 7
2 Source File Basics........................................................................................................... 7
2.1 File Name .............................................................................................................. 7
2.2 File Encoding: UTF-8 ............................................................................................. 7
2.3 Special Characters .................................................................................................. 7
3 Source File Structure ....................................................................................................... 8
3.1 License or Copyright Information ........................................................................... 8
3.2 Package Statement.................................................................................................. 8
3.3 Import Statement .................................................................................................... 8
3.3.1 No Wildcard Imports ...................................................................................... 8
3.3.2 No Line-Wrapping ......................................................................................... 8
3.3.3 Ordering and Spacing ..................................................................................... 8
3.3.4 No Static Imports ........................................................................................... 9
3.4 Class Declaration.................................................................................................... 9
3.4.1 Exactly One Top-Level Class Declaration ....................................................... 9
3.4.2 Ordering of Class Contents ............................................................................. 9
4 Formatting ...................................................................................................................... 9
4.1 Braces.................................................................................................................... 9
4.1.1 Braces Are Used Where Optional ................................................................... 9
4.1.2 Nonempty Blocks: K & R Style .....................................................................10
4.1.3 Empty Blocks: May Be Concise.....................................................................10
4.2 Indentation ............................................................................................................11
4.3 One Statement Per Line .........................................................................................12
-- 3 of 25 --
USPTO Java Coding Standard
Version 4.1 Page 4 of 25 June 4, 2024
4.4 Column Limit: 130 ................................................................................................12
4.5 Line-Wrapping ......................................................................................................12
4.6 Blank Lines ...........................................................................................................13
4.7 Grouping Parentheses ............................................................................................14
4.8 Class Declaration...................................................................................................15
5 Naming.......................................................................................................…
Source: SAM.gov, as posted. Verify the current solicitation before responding.