Coverall nhanh: đọc bài viết tuyệt vời này tại Mã hóa kinh dị
Bất cứ khi nào tôi đang thảo luận về mã qua điện thoại, tôi không bao giờ đọc nó theo nghĩa đen. Bạn phải "biên dịch" nó với con người, và nếu vẫn còn sự nhầm lẫn ở đầu dây bên kia, bạn có thể chuyển sang cách đọc theo nghĩa đen hơn. Ví dụ, tôi đã đọc ví dụ của bạn như
"Nếu thanh là đúng, hãy tăng con trỏ baz và gán giá trị tại địa chỉ đó cho foo. Nếu không thì đặt foo thành zardoz."
Tôi đã là một người làm việc từ xa toàn thời gian từ giữa những năm 90, vì vậy thực tế tất cả các tương tác của tôi với các đồng nghiệp của tôi đều qua điện thoại hoặc các phương tiện gián tiếp khác. Rất thường xuyên chúng tôi chia sẻ một phiên màn hình (thiết bị đầu cuối) hoặc phiên VNC (X). Bên cạnh các tình bạn thông thường, chúng tôi dành cả ngày để nói về mã, thiết kế, lập kế hoạch, v.v.
Khi chúng ta nói về mã, chúng tôi sử dụng biệt ngữ gắn liền với loại dự án đang được thực hiện. Một trong (nhiều) lý do khiến một thành viên nhóm mới mất nhiều thời gian để trở nên đầy đủ chức năng là vì về cơ bản họ đang học một ngôn ngữ mới mỗi khi họ gia nhập một bộ phận / công ty mới.
Như tôi đã nói ở trên, và như những người khác đã nói, chúng tôi cố gắng nói ở mức độ cao phù hợp cho bất kỳ cuộc thảo luận nào. Nhưng đôi khi, bạn thực sự phải nói với ai đó: "Gõ cái này"
Làm thế nào để bạn nói nó? Chà, chúng ta chỉ có thể đưa ra một bảng liệt kê như ...
~ tilde
` backtick
' single quote
" quote (or double quote)
/ slash, \ is backslash
# pound or hash
! bang (or exclamation mark)
@ at
$ dollar
% percent or mod
^ caret or xor
& and or bitwise and
&& and or logical and
| pipe or 'or' or bitwise or
|| 'or'
* value of, times, glob, multiplied by
() parens, open paren, close paren
{} braces, curlies, open stash, close stash
[] brackets, square brackets, at & sub (for subscript) (for C-ish arrays)
...
Đây chỉ là cách "chúng tôi" nói những nhân vật này. Để có ý tưởng về toàn bộ phạm vi nói "#", hãy xem trang wiki cho #
Vì vậy, có quá nhiều thay đổi. Nó phải đặc trưng cho ngôn ngữ mà bạn đang mã hóa (giống như tôi đang gõ tiếng Anh này để giao tiếp với con người của chúng ta).
Không có ngữ cảnh của ngôn ngữ, bạn liên tục phải trở lại ký tự bằng cách đánh vần ký tự. Vì vậy, hầu hết mọi người tôi biết đều rơi vào bất cứ điều gì mà tiêu chuẩn ngôn ngữ gọi là mọi thứ.
SELECT COUNT(*) INTO x FROM ... (SQL)
X IS Y + 1 (Prolog)
(setq x 40) (Emacs lisp)
/def x 40 (PostScript)
x = 40 (C)
$x = 40 (Perl)
Mỗi người trong số họ sẽ được ngụ ý chỉ bằng cách nói "Đặt X thành ..." trong bối cảnh thích hợp. Thậm chí đừng để tôi bắt đầu với mã được đọc là "chuỗi X bằng chuỗi Y".
Nếu bạn nói "hash bang bin bash" hoặc "shebang bash", mọi người sẽ biết điều đó có nghĩa là "#! / Bin / bash". Nếu họ không nói, "Huh?", Và bạn bước xuống một chữ "Ở đầu tập tin: Dấu Pound, dấu chấm than, dấu gạch chéo, bin, dấu gạch chéo, bash, dòng mới". Nếu họ vẫn không nhận được, bạn lại bước xuống: "Xem bàn phím đó trước mặt bạn không? Xem phím" 3 "? Dấu đó trên đầu khi bạn nhấn shift là dấu thăng, đó."
Dòng dưới cùng:
- đừng lo lắng về nó quá nhiều, bạn sẽ sai, mọi người sẽ vượt qua nó
- nó quá cụ thể với chính xác những gì bạn làm
- luôn mang theo khăn
- đọc bài viết trên tại Mã hóa kinh dị