Azure / Azure/azure-cli-dev-tools

Linter Feedback

オープン
#28 コメント 7 件 リアクション 0 件 担当者 1 名 @haroldrandom が担当を希望しています GitHub で見る
enhancement Linter
主要言語
Python
スター
91
フォーク
134
平均マージ
2時間 51分
マージ済み PR(30日)
1

説明

My initial feedback:

1. The exclusions file is too verbose. Consider this:
```
network nic ip-config create:
parameters:
private_ip_address_version:
rule_exclusions:
- missing_parameter_help_rule
network nic ip-config update:
parameters:
private_ip_address_version:
rule_exclusions:
- missing_parameter_help_rule
network nsg rule create:
parameters:
access:
rule_exclusions:
- missing_parameter_help_rule
direction:
rule_exclusions:
- missing_parameter_help_rule
network nsg rule update:
parameters:
access:
rule_exclusions:
- missing_parameter_help_rule
direction:
rule_exclusions:
- missing_parameter_help_rule
```
Five lines per exclusion! JSON would be even longer. Consider a custom format, like so:
```
network nic ip-config create:
- private_ip_address_version: missing_parameter_help_rule

network nic ip-config update:
- private_ip_address_version: missing_parameter_help_rule

network nsg rule create:
- access: missing_parameter_help_rule
- direction: missing_parameter_help_rule

network nsg rule update:
- access: missing_parameter_help_rule
- direction: missing_parameter_help_rule,
```

This would be much more readable and doesn't require any keywords.

2. Don't print anything if a rule has no violations. A quiet linter is a happy linter.

3. Consider a `--report` flag which will output violations by module.

4. When a rule violation does occur, print the link or an explanation for how the user is expected to fix it.

5. There is a folder `commandlint` and `cli_linter`. Are both of these needed?

### Environment summary

Install Method (e.g. pip, interactive script, apt-get, Docker, MSI, edge build) / CLI version (`az --version`) / OS version / Shell Type (e.g. bash, cmd.exe, Bash on Windows)

```
azure-cli (2.0.31)

acr (2.0.22)
acs (2.0.30)
advisor (0.5.0)
appservice (0.1.31)
backup (1.1.0)
batch (3.2.0)
batchai (0.2.0)
billing (0.1.8)
cdn (0.0.14)
cloud (2.0.12)
cognitiveservices (0.1.11)
configure (2.0.14)
consumption (0.3.0)
container (0.1.21)
core (2.0.31)
cosmosdb (0.1.20)
dev-tools (0.1.1)
dla (0.0.18)
dls (0.0.20)
eventgrid (0.1.11)
eventhubs (0.1.2)
extension (0.0.12)
feedback (2.1.0)
find (0.2.8)
interactive (0.3.19)
iot (0.1.18)
keyvault (2.0.21)
lab (0.0.20)
monitor (0.1.5)
network (2.0.28)
nspkg (3.0.2)
profile (2.0.22)
rdbms (0.2.1)
redis (0.2.11)
reservations (0.1.1)
resource (2.0.27)
role (2.0.21)
servicebus (0.1.2)
servicefabric (0.0.11)
sql (2.0.25)
storage (2.0.31)
testsdk (0.1.1)
vm (2.0.30)

Extensions:
alias (0.3.0)
subscription (0.1.0)

Python location 'c:\Users\trpresco\Documents\github\azure-cli\env\Scripts\python.exe'
Extensions directory 'C:\Users\trpresco\.azure\cliextensions'

Python (Windows) 3.6.1 (v3.6.1:69c0db5, Mar 21 2017, 17:54:52) [MSC v.1900 32 bit (Intel)]
```

コントリビューションガイド

このリポジトリのコントリビューションガイドは索引されていません

評価

この issue はまだ評価されていません。

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。