== Why is this an issue?

In the interests of keeping code clean, the simplest possible conditional syntax should be used. That means 
using the ``++??=++`` (conditional assignment) operator for a self-assign-if-not-null operation.

=== Noncompliant code example

[source, dart]
----
if (a == null) {  // Noncompliant
    a = Object();
}

----


=== Compliant solution

[source,dart]
----
a ??= Object();
----

== Resources

* Dart Docs - https://dart.dev/tools/linter-rules/prefer_conditional_assignment[Dart Linter rule - prefer_conditional_assignment]

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

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

=== Message

Prefer using ??= over testing for null.

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