An unused parameter is a parameter that has been declared but is not used anywhere in the block of code where it is defined. It is dead code, contributing to unnecessary complexity and leading to confusion when reading the code. Therefore, it should be removed from your code to maintain clarity and efficiency.
Having unused parameters in your code can lead to several issues:
In summary, unused local parameters can make your code less readable, more confusing, and harder to maintain, and they can potentially lead to bugs. Therefore, it is best to remove them.
The fix for this issue is straightforward. Once you ensure the unused parameter is not part of an incomplete implementation leading to bugs, you just need to remove it.
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"parameters": {
"unusedParameter": {
"type": "string"
},
"virtualMachinesName": {
"type": "string"
}
},
"resources": [
{
"type": "Microsoft.Compute/virtualMachines",
"name": "[parameters('virtualMachinesName')]",
"apiVersion": "2023-09-01",
"location": "[resourceGroup().location]"
}
]
}
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"parameters": {
"virtualMachinesName": {
"type": "string"
}
},
"resources": [
{
"type": "Microsoft.Compute/virtualMachines",
"name": "[parameters('virtualMachinesName')]",
"apiVersion": "2023-09-01",
"location": "[resourceGroup().location]"
}
]
}
The fix for this issue is straightforward. Once you ensure the unused parameter is not part of an incomplete implementation leading to bugs, you just need to remove it.
param unusedParameter string // Noncompliant
param virtualMachinesName string = '${uniqueString(resourceGroup().id)}'
resource vm 'Microsoft.Compute/virtualMachines@2023-09-01' = {
name: virtualMachinesName
location: resourceGroup().location
}
param virtualMachinesName string = '${uniqueString(resourceGroup().id)}'
resource vm 'Microsoft.Compute/virtualMachines@2023-09-01' = {
name: virtualMachinesName
location: resourceGroup().location
}