Skip to content

Latest commit

 

History

History
35 lines (34 loc) · 1.6 KB

TODO.md

File metadata and controls

35 lines (34 loc) · 1.6 KB

TODO

  • Update Changes file to meet Changes spec
  • add new theme for OTRS4 (add all existing policies to that theme)
  • add documentation to policies (what is a do/don't)
  • ProhibitOpen: only prohibit the open when it is the Core function (Module::Name->open() should be allowed)
  • Add policies for:
    • "our @ObjectDependencies" or "$ObjectManagerDisabled" (for OTRS >= 4.0)
    • ProhibitObjectManagerAware -> no "our $ObjectManagerAware" (for OTRS >= 4.0)
    • ProhibitForeach -> no foreach my $var ( @array )
    • ProhibitGoto -> no 'goto'
    • ProhibitCacheNew -> no Kernel::System::Cache->new() (for OTRS >= 4.0)
    • ProhibitShebangInModules -> no "#!..." in .pm files
    • ProhibitParamObjectInBackendAndBin -> OTRS < 4.0: no "ParamObject" in Kernel::System::* and bin/, OTRS >= 4.0: no "Kernel::System::Web::Request"
    • RequireSortKeys -> Use "sort" when "keys" is used
    • RequireUseUTF8ForNonASCIIFiles (.pl, .pm)
    • RequireStrictWarnings -> Use "use strict" and "use warnings"
    • RequireLabelsWithLoopOps -> always use a label when using "next" or "last"
    • ProhibitUnless -> no "unless" ( for OTRS >= 4.0 )
    • ProhibitSmartMatch -> no smart-match
  • Create sample perlcritic.rc files for
    • OTRS >= 4.0
    • OTRS >= 3.3, < 4.0
    • OTRS < 3.3
    • find out which Perl::Critic policies should be enabled/disabled
    • Activate Perl::Critic policies:
      • ProhibitLvalueSubstr
      • ProhibitSleepViaSelect
      • ProhibitTrailingWhitespace
      • RequireLexicalLoopIterators
    • Deactivate Perl::Critic policies:
      • ProhibitBooleanGrep
      • ProhibitComplexMappings
      • ProhibitReverseSortBlock