:identifier_capital_plural: Local variables and function parameters
:identifier: local variable and function parameter
:identifier_plural: local variables and function parameters
:identifier_or: local variable or function parameter
:regex: ^`?[_a-z][a-zA-Z0-9]*`?$

include::../rule.adoc[]

=== Code examples

==== Noncompliant code example

With the default regular expression ``{regex}``:

[source,kotlin,diff-id=1,diff-type=noncompliant]
----
fun printSomething(
    IMPORTANT_PARAM: String // Noncompliant
) {
    val LOCAL = "" // Noncompliant
    println(IMPORTANT_PARAM + LOCAL)
}
----

==== Compliant solution

[source,kotlin,diff-id=1,diff-type=compliant]
----
fun printSomething(
    importantParam: String
) {
    val local = ""
    println(importantParam + local)
}
----

== Resources

=== Documentation

* Kotlin - https://kotlinlang.org/docs/coding-conventions.html#naming-rules[Coding conventions: naming rules]
* Wikipedia - https://en.wikipedia.org/wiki/Naming_convention_(programming)[Naming Convention (programming)]

=== Related rules

* S100 - Function names should comply with a naming convention
* S101 - Class names should comply with a naming convention

ifdef::env-github,rspecator-view[]

'''
== Implementation Specification
(visible only on this page)

include::../message.adoc[]

include::../parameters.adoc[]

'''
== Comments And Links
(visible only on this page)

include::../comments-and-links.adoc[]

endif::env-github,rspecator-view[]
