Hãy dùng tùy chọn dài trong script
(matklad.github.io)- Nhiều tiện ích dòng lệnh hỗ trợ cả tùy chọn dạng ngắn (
-f) và dạng dài (--force) - Dạng ngắn dành cho sử dụng tương tác; trong script nên dùng dạng dài
- Ví dụ, trong terminal bạn sẽ gõ
$ git switch -c my-new-branch. - Trong script phát hành, hãy viết như sau:
try shell.exec("git fetch origin --quiet", .{});try shell.exec("git switch --create release-{today} origin/main", .{ .today = stdx.DateUTC.now() }, );
- Tùy chọn dạng dài mang tính mô tả rõ ràng hơn nhiều đối với người đọc
1 bình luận
Ý kiến trên Hacker News
Tôi thích các tùy chọn dài, nhưng khi cần gọi các lệnh POSIX theo cách có tính di động thì tùy chọn ngắn là lựa chọn duy nhất. POSIX không quy định tùy chọn dài
diffgrep, dùng thứ nhưlibpcrecó thể hiệu quả hơngit,hg,rg,ag..., việc dùng tùy chọn dài là hợp lýKhông nên trộn nội suy chuỗi với việc thực thi lệnh
execv(2),execvp(2)...Tôi đồng ý rằng nên dùng tùy chọn dài, nhưng cần cân nhắc tính di động
Đừng quên dùng
--sau tất cả các tùy chọn và trước các đối số độngTrước khi gọi lệnh, cần kiểm tra xem độ dài lệnh có vượt quá
ARG_MAXhay khônggrep --ignore-case --files-with-matches -- "hello" *.cCMD="grep --ignore-case --files-with-matches -- \"hello\" *.c"ARG_MAX=$(getconf ARG_MAX)CMD_LEN=${#CMD}if (( CMD_LEN > ARG_MAX )); thenecho "Error: Command length ($CMD_LEN) exceeds ARG_MAX ($ARG_MAX)." >&2exit 1fieval "$CMD"# Cảnh báo: đánh giá tên tệpTôi đồng ý với cách này. Một lợi ích khác là sẽ dễ
greptrangmanhơn để tìm xem tùy chọn đó làm gìNếu muốn làm cho script có thể chuyển sang các hệ POSIX khác, bạn có thể phải dùng tùy chọn ngắn
Nên đặt mỗi tùy chọn trên một dòng riêng để dễ theo dõi và
git blameĐây là một trong những quy tắc cơ bản khi viết script. Nếu có thể dùng tùy chọn dài thì nên dùng
Các tùy chọn dạng dài mang tính mô tả cao hơn nhiều đối với người đọc