scitools.com

← CodeCheck catalog

Ada 95 is a coding standard you can enforce automatically with CodeCheck, Understand's static-analysis engine — in the GUI, from the command line, or in CI.

Ada 95

The purpose of this guide is to help computer professionals produce better Ada programs by identifying a set of stylistic guidelines that will directly impact the quality of their Ada programs. This style guide is not intended to replace the Ada Reference Manual, or the Rationale, or to serve as a tutorial for the Ada programming language.

Checks

Check IDCheck NameSupported
ADA95_2.1.12.1.1 Horizontal SpacingYes
ADA95_2.1.22.1.2 IndentationYes
ADA95_2.1.32.1.3 Alignment of OperatorsNo
ADA95_2.1.42.1.4 Alignment of DeclarationsNo
ADA95_2.1.52.1.5 Parameter AlignmentYes
ADA95_2.1.62.1.6 Blank LinesNo
ADA95_2.1.72.1.7 PaginationYes
ADA95_2.1.82.1.8 Number of Statements Per LineYes
ADA95_2.1.92.1.9 Source Code Line LengthYes
ADA95_3.1.13.1.1 Use of UnderscoresYes
ADA95_3.1.23.1.2 NumbersYes
ADA95_3.1.33.1.3 CapitalizationYes
ADA95_3.1.43.1.4 AbbreviationsNo
ADA95_3.2.13.2.1 NamesYes
ADA95_3.2.23.2.2 Subtype NamesYes
ADA95_3.2.33.2.3 Object NamesNo
ADA95_3.2.43.2.4 Naming of Tagged Types and Associated PackagesNo
ADA95_3.2.53.2.5 Program Unit NamesYes
ADA95_3.2.63.2.6 Constants and Named NumbersYes
ADA95_3.2.73.2.7 ExceptionsNo
ADA95_3.2.83.2.8 ConstructorsNo
ADA95_3.3.13.3.1 General CommentsNo
ADA95_3.3.23.3.2 File HeadersYes
ADA95_3.3.33.3.3 Program Unit Specification HeadersYes
ADA95_3.3.43.3.4 Program Unit Body HeadersYes
ADA95_3.3.53.3.5 Data CommentsNo
ADA95_3.3.63.3.6 Statement CommentsNo
ADA95_3.3.73.3.7 Marker CommentsYes
ADA95_3.4.13.4.1 Declaring TypesNo
ADA95_3.4.23.4.2 Enumeration TypesNo
ADA95_4.1.14.1.1 Separate Compilation CapabilitiesYes
ADA95_4.1.24.1.2 Configuration PragmasYes
ADA95_4.1.34.1.3 SubprogramsNo
ADA95_4.1.44.1.4 FunctionsNo
ADA95_4.1.54.1.5 PackagesNo
ADA95_4.1.64.1.6 Child Library UnitsNo
ADA95_4.1.74.1.7 CohesionNo
ADA95_4.1.84.1.8 Data CouplingYes
ADA95_4.1.94.1.9 TasksNo
ADA95_4.1.104.1.10 Protected TypesNo
ADA95_4.2.14.2.1 Minimization of InterfacesNo
ADA95_4.2.24.2.2 Nested PackagesNo
ADA95_4.2.34.2.3 Restricting VisibilityYes
ADA95_4.2.44.2.4 Hiding TasksNo
ADA95_4.3.14.3.1 Using Exceptions to Help Define an AbstractionYes
ADA95_5.1.15.1.1 Loop NamesYes
ADA95_5.1.25.1.2 Block NamesYes
ADA95_5.1.35.1.3 Exit StatementsYes
ADA95_5.1.45.1.4 Naming End StatementsYes
ADA95_5.2.15.2.1 Formal ParametersNo
ADA95_5.2.25.2.2 Named AssociationYes
ADA95_5.2.35.2.3 Default ParametersYes
ADA95_5.2.45.2.4 Mode IndicationYes
ADA95_5.3.15.3.1 Derived Types and SubtypesYes
ADA95_5.3.25.3.2 Anonymous TypesYes
ADA95_5.3.35.3.3 Private TypesYes
ADA95_5.3.45.3.4 Subprogram Access TypesNo
ADA95_5.4.15.4.1 Discriminated RecordsYes
ADA95_5.4.25.4.2 Heterogeneous Related DataNo
ADA95_5.4.35.4.3 Heterogeneous Polymorphic DataNo
ADA95_5.4.45.4.4 Nested RecordsNo
ADA95_5.4.55.4.5 Dynamic DataYes
ADA95_5.4.65.4.6 Aliased ObjectsYes
ADA95_5.4.75.4.7 Access DiscriminantsNo
ADA95_5.4.85.4.8 Modular TypesNo
ADA95_5.5.15.5.1 Range ValuesYes
ADA95_5.5.25.5.2 Array AttributesNo
ADA95_5.5.35.5.3 Parenthetical ExpressionsNo
ADA95_5.5.45.5.4 Positive Forms of LogicNo
ADA95_5.5.55.5.5 Short Circuit Forms of the Logical OperatorsNo
ADA95_5.5.65.5.6 Accuracy of Operations With Real OperandsYes
ADA95_5.6.15.6.1 NestingYes
ADA95_5.6.25.6.2 SlicesNo
ADA95_5.6.35.6.3 Case StatementsYes
ADA95_5.6.45.6.4 LoopsYes
ADA95_5.6.55.6.5 Exit StatementsYes
ADA95_5.6.65.6.6 Recursion and Iteration BoundsNo
ADA95_5.6.75.6.7 Goto StatementsYes
ADA95_5.6.85.6.8 Return StatementsYes
ADA95_5.6.95.6.9 BlocksNo
ADA95_5.6.105.6.10 AggregatesNo