SAS Build Rules

buildRules

class SASDocumentation.SASBuildRules.buildRules.ruleCamelCase(SASProject, loggers, mode='normal', adoLogging=False)

Bases: SASDocumentation.SASBuildRules.buildRuleObject.SASBuildRule

camelCase build rule All SAS variable names should be camelCase

assess(SASProgram)
define()
class SASDocumentation.SASBuildRules.buildRules.ruleCommentProgramRatio(SASProject, loggers, mode='normal', adoLogging=False)

Bases: SASDocumentation.SASBuildRules.buildRuleObject.SASBuildRule

Code should be well documented

assess(SASProgram)
define()
class SASDocumentation.SASBuildRules.buildRules.ruleDescriptiveName(SASProject, loggers, mode='normal', adoLogging=False)

Bases: SASDocumentation.SASBuildRules.buildRuleObject.SASBuildRule

Descriptive Name build rule All SAS Variable names should be descriptive

assess(SASProgram)
define()
class SASDocumentation.SASBuildRules.buildRules.ruleExplicitSortInput(SASProject, loggers, mode='normal', adoLogging=False)

Bases: SASDocumentation.SASBuildRules.buildRuleObject.SASBuildRule

Explicit Sort Input Proc sorts must have an explicit data=

assess(SASProgram)
define()
class SASDocumentation.SASBuildRules.buildRules.ruleMacroArgRequiresDocString(SASProject, loggers, mode='normal', adoLogging=False)

Bases: SASDocumentation.SASBuildRules.buildRuleObject.SASBuildRule

Macro arguments require a doc string Macros arguments must have a doc string

assess(SASProgram)
define()
class SASDocumentation.SASBuildRules.buildRules.ruleMacroLength(SASProject, loggers, mode='normal', adoLogging=False)

Bases: SASDocumentation.SASBuildRules.buildRuleObject.SASBuildRule

Macros should not exceed 200 lines

assess(SASProgram)
define()
class SASDocumentation.SASBuildRules.buildRules.ruleMacroRequiresDocString(SASProject, loggers, mode='normal', adoLogging=False)

Bases: SASDocumentation.SASBuildRules.buildRuleObject.SASBuildRule

Macro Requires doc string Macros must have a doc string

assess(SASProgram)
define()
class SASDocumentation.SASBuildRules.buildRules.ruleMacroRequiresHelp(SASProject, loggers, mode='normal', adoLogging=False)

Bases: SASDocumentation.SASBuildRules.buildRuleObject.SASBuildRule

Macro requires help statement Macros must have a help statement

assess(SASProgram)
define()
class SASDocumentation.SASBuildRules.buildRules.ruleNoMacroLibname(SASProject, loggers, mode='normal', adoLogging=False)

Bases: SASDocumentation.SASBuildRules.buildRuleObject.SASBuildRule

Macros should not contain libname statement

assess(SASProgram)
define()
class SASDocumentation.SASBuildRules.buildRules.ruleNoProcMeans(SASProject, loggers, mode='normal', adoLogging=False)

Bases: SASDocumentation.SASBuildRules.buildRuleObject.SASBuildRule

No Proc Means Proc Summary should be used in place of a proc mean

assess(SASProgram)
define()
class SASDocumentation.SASBuildRules.buildRules.ruleUniqueMacroNames(SASProject, loggers, mode='normal', adoLogging=False)

Bases: SASDocumentation.SASBuildRules.buildRuleObject.SASBuildRule

Macros should not be defined twice in the same project

assess(SASProject)
define()

buildRuleObject

class SASDocumentation.SASBuildRules.buildRuleObject.SASBuildRule(SASProject, loggers, mode='normal', adoLogging=False)

Bases: object

define()
log(msg, ado=None)
logError(path, lineNumber='', dataObject='')
logRuleResult(errors)
run()