The expression can be simplified using one of the functions isEmpty, isNotEmpty or isNullOrEmpty.
This change makes the code more concise and easier to understand. The additional comparison operator would increase the complexity of the
expression while not offering any benefit. The function names isEmpty, isNotEmpty and isNullOrEmpty are
descriptive on the other hand, so it is evident to readers what the purpose of the expression is.
Replace
collection.size == 0, collection.count() == 0 or !collection.isNotEmpty() with
collection.isEmpty() collection.size != 0, collection.count() != 0 or !collection.isEmpty() with
collection.isNotEmpty() collection == null || collection.size == 0 or collection == null || collection.count() == 0 with
collection.isNullOrEmpty() val list = listOf(5,2,9,6,8,2,5,7,3)
val hasElemenents = !list.isEmpty() // Noncompliant, use isNotEmpty() val hasNoElemenents = list.count() == 0 // Noncomplient, use isEmpty() fun isNullOrEmpty(list: List<Int>?): Boolean = list == null || list.size == 0 // Noncompliant, use isNullOrEmpty
val hasElemenents = list.isNotEmpty() // Compliant val hasNoElemenents = list.isEmpty() // Compliant fun isNullOrEmpty(list: List<Int>?): Boolean = list.isNullOrEmpty() // Compliant