PowerShell / PowerShell/PSScriptAnalyzer

new feature: unusable parameters warning

Đang mở
#1,375 5 bình luận 0 reaction 0 người được giao Xem trên GitHub

Chưa có ai nhận issue này.

Issue - New Rule
Ngôn ngữ chính
C#
Star
2.2k
Fork
414
Merge trung bình
13 giờ 1 phút
Pull request đã merge (30 ngày)
2

Mô tả

Problem to be solved

PowerShell (theoretically) supports parameters whose name can consist only from numbers. For example, this is a valid declaration:

function p1([switch]$1) {if ($1) {'Yes'} else {'No'}}

However, it is very hard to call properly this script. This one will not work:

PS /home/iiric> p1
No
PS /home/iiric> p1 -1
No

This is because parser will think -1 is a negative number rather than a parameter name in this instance.

Proper (=hard) way would be to use splatting.

$params = @{ '1' = $true }
PS> p1 @params
Yes

Generally, this is not the only example of such unusable parameters. See response by @vexx32 in PowerShell repo issue.

Summary of the new feature

Create a PSSA rule that warns when such parameters are created, so users are aware ahead of time that they're making parameters that they won't be able to refer to.

Hướng dẫn đóng góp

Mở hướng dẫn đóng góp

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Hướng nghiên cứu

Bắt đầu bằng cách xem xét các quy tắc PSScriptAnalyzer hiện có và cách chúng báo cáo chẩn đoán, sau đó kiểm tra issue PowerShell được liên kết để xem các trường hợp được coi là không thể sử dụng. Công việc được hoàn thành khi analyzer cảnh báo rằng một tham số không thể được tham chiếu theo cách thông thường, bao gồm cả tham số chỉ gồm chữ số như $1.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Đánh giá

Công nghệ
csharp, powershell
Lĩnh vực
tooling
Loại issue
Tính năng
Độ khó
3/5
Thời gian dự kiến
1-2 ngày
Mức độ hoạt động
Đình trệ
Độ rõ ràng
Khá rõ ràng
Mức phù hợp với người mới
35/100

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.