SonarSource Rules
  • Products

    In-IDE

    Code Quality and Security in your IDE with SonarQube Ide

    IDE extension that lets you fix coding issues before they exist!

    Discover SonarQube for IDE

    SaaS

    Code Quality and Security in the cloud with SonarQube Cloud

    Setup is effortless and analysis is automatic for most languages

    Discover SonarQube Cloud

    Self-Hosted

    Code Quality and Security Self-Hosted with SonarQube Server

    Fast, accurate analysis; enterprise scalability

    Discover SonarQube Server
  • SecretsSecrets
  • ABAPABAP
  • AnsibleAnsible
  • ApexApex
  • AzureResourceManagerAzureResourceManager
  • CC
  • C#C#
  • C++C++
  • CloudFormationCloudFormation
  • COBOLCOBOL
  • CSSCSS
  • DartDart
  • DockerDocker
  • FlexFlex
  • GitHub ActionsGitHub Actions
  • GoGo
  • HTMLHTML
  • JavaJava
  • JavaScriptJavaScript
  • JSONJSON
  • JCLJCL
  • KotlinKotlin
  • KubernetesKubernetes
  • Objective CObjective C
  • PHPPHP
  • PL/IPL/I
  • PL/SQLPL/SQL
  • PythonPython
  • RPGRPG
  • RubyRuby
  • RustRust
  • ScalaScala
  • ShellShell
  • SwiftSwift
  • TerraformTerraform
  • TextText
  • TypeScriptTypeScript
  • T-SQLT-SQL
  • VB.NETVB.NET
  • VB6VB6
  • XMLXML
  • YAMLYAML
Dart

Dart static code analysis

Unique rules to find Bugs, Vulnerabilities, Security Hotspots, and Code Smells in your DART code

  • All rules 126
  • Vulnerability4
  • Bug15
  • Security Hotspot8
  • Code Smell99
Filtered: 13 rules found
convention
    Impact
      Clean code attribute
        1. "child" properties should be placed last in widget instantiation

           Code Smell
        2. "part of" directives should be used with strings

           Code Smell
        3. Triple slash should be used for documentation comments

           Code Smell
        4. Adjacent string concatenation should be preferred

           Code Smell
        5. Non-constant names should comply with a naming convention

           Code Smell
        6. Function declarations should be preferred over variables

           Code Smell
        7. Extension identifiers should comply with a naming convention

           Code Smell
        8. Local identifiers should not start with underscore

           Code Smell
        9. File names should comply with a naming convention

           Code Smell
        10. Package names should comply with a naming convention

           Code Smell
        11. Constant names should comply with a naming convention

           Code Smell
        12. Files should end with a newline

           Code Smell
        13. Class names should comply with a naming convention

           Code Smell

        Adjacent string concatenation should be preferred

        consistency - conventional
        maintainability
        Code Smell
        • convention

        Prefer adjacent string concatenation over using the + operator.

        Why is this an issue?

        How can I fix it?

        More Info

        Given two string literals, Dart allows concatenation:

        1. via the + operator over strings, e.g. 'Hello' + 'World'
        2. via adjacent string literals, e.g. 'Hello' 'World'

        The + operator concatenates any two expressions of type String, irrespective of whether the two expressions are literals or not. This means that all the following expressions are valid:

        • 'a literal' + 'another literal'
        • 'a literal' + aVariable
        • aVariable + 'a literal'

        On the other hand, adjacent string literals are a specific form of concatenation that only works with string literals and interpolated strings, which means that only the first two of the following expressions are valid:

        • 'a literal' 'another literal'
        • 'a literal' 'an interpolated ${"string"}'
        • 'a literal' aVariable
        • aVariable 'a literal'

        Because concatenation of strings with variable elements should be done via string interpolation (as encouraged by S3512), consistently using adjacent string literals for concatenation of string without the variable elements (i.e. literals only) makes the code more readable and homogeneous, since a single syntax is used for all concatenations.

          Available In:
        • SonarQube CloudDetect issues in your GitHub, Azure DevOps Services, Bitbucket Cloud, GitLab repositories
        • SonarQube ServerAnalyze code in your
          on-premise CI
          Developer Edition
          Available Since
          10.8

        © 2008-2025 SonarSource SA. All rights reserved.

        Privacy Policy | Cookie Policy | Terms of Use