Hỏi - đáp Nơi cung cấp thông tin nghề nghiệp và giải đáp những thắc mắc thường gặp của bạn

Các quy tắc đọc mã ASCII cho lập trình viên

Là lập trình viên, chúng ta phải thường xuyên làm việc với rất nhiều ký tự bàn phím mà người bình thường hiếm khi phải dùng đến và họ không phải suy nghĩ nhiều về chúng:

$ # % {} * [] ~ &

Ngay cả những ký tự được sử dụng khá thường xuyên trong văn bản hàng ngày — như dấu gạch ngang, dấu ngoặc, dấu chấm, và dấu hỏi — có ý nghĩa hoàn toàn khác nhau trong các ngôn ngữ lập trình.

ất cả điều này đều tốt đẹp, nhưng cuối cùng bạn sẽ phải đọc lên những ký tự này cho một lập trình viên khác vì một lý do nào đó. Và sau đó bạn sẽ rơi vào một tình huống thực sự khó xử.

Làm thế nào để bạn phát âm các ký tự ASCII ít quen thuộc này?

Tất cả chúng ta đều làm điều đó, nhưng không nhất thiết phải suy nghĩ nhiều về những từ mà mình lựa chọn. Tôi chắc chắn đã không nghĩ nhiều về việc này cho đến ngày hôm qua, khi tôi đọc dòng comment sau đây dưới bài viết Exploring Finder Wide:

Một người bạn đã gửi cho tôi một đoạn code Java, trong đó anh ta viết một vòng lặp để in ra dòng chữ “Cảm ơn!” một triệu lần (nhằm cảm ơn một vị giáo sư vì ông đã gia hạn thời gian deadline nộp luận văn cho anh ta). Tôi đã đáp lại bằng một dòng code duy nhất bằng Ruby thực hiện cùng chức năng, và một dòng duy nhất bằng ngôn ngữ Lisp.

Anh ta viết lại cho tôi rằng: “Underscores, pipes, octothorpes, curly braces — sheesh… Tôi sẽ có được cách viết ít rườm rà hơn, nhưng đồng nghĩa phải viết những dòng code trông giống như nó được nén lại vậy!”

Nhưng một octothorpe là cái quái gì vậy?

Tôi thường ngạc nhiên khi nghe các lập trình viên khác đọc tên những ký tự ASCII. Không phải là những từ mà cá nhân tôi sử dụng để gọi các ký tự ASCII là chính xác hơn, mà thực tế có nhiều biến thể về cách gọi hơn một lập trình viên có thể nghĩ.

Có lẽ đó là lý do tại sao tôi rất vui mừng khi phát hiện mục ASCII trong The New Hacker’s Dictonary, cái mà Phil Glockner đã giới thiệu. Đó là một thư mục khá đầy đủ các tên thông thường, tên hiếm gặp, và đôi khi hết sức kỳ lạ mà các lập trình viên gọi các ký tự ASCII rải khắp trên các dòng code của họ.

Có bao nhiêu cách phát âm ký tự ASCII trong số này mà bạn nhận ra? Những cái nào là “chính xác” như cách bạn đang gọi?

Tên phổ biến Tên hiếm gặp
! exclamation mark
bang
pling
excl
not
shriek
factorial
exclam
smash
cuss
boing
yell
wow
hey
wham
eureka
spark-spot
soldier
control
quotation marks
quote
double quote
literal mark
double-glitch
dieresis
dirk
rabbit-ears
double prime
#
hash
pound sign
number sign
pound
sharp
crunch
hex
mesh
grid
crosshatch
octothorpe
flash
square
pig-pen
tictactoe
scratchmark
thud
thump
splat
$ dollar sign
dollar
currency symbol
buck
cash
string
escape
ding
cache
big money
% percent sign
mod
grapes
double-oh-seven
& ampersand
amp
amper
and
and sign
address
reference
andpersand
bitand
background
pretzel
apostrophe
single quote
quote
prime
glitch
tick
irk
pop
spark
closing single quotation mark
acute accent
( ) opening / closing parenthesis
left / right paren
left / right parenthesis
left / right
open / close
open / close paren
paren / thesis
so/already
lparen/rparen
opening/closing parenthesis
opening/closing round bracket
left/right round bracket
wax/wane
parenthisey/unparenthisey
left/right ear
[ ] opening / closing bracket
left / right bracket
left / right square bracket
bracket / unbracket
square / unsquare
u turn / u turn back
{ } opening / closing brace
open / close brace
left / right brace
left / right squiggly
left / right squiggly bracket/brace
left / right curly bracket/brace
brace / unbrace
curly / uncurly
leftit / rytit
left / right squirrelly
embrace / bracelet
< > less / greater than
bra / ket
left / right angle
left / right angle bracket
left / right broket
from / into (or towards)
read from / write to
suck / blow
comes-from / gozinta
in / out
crunch / zap
tic / tac
angle / right angle
* asterisk
star
splat
wildcard
gear
dingle
mult
spider
aster
times
twinkle
glob
Nathan Hale
+ plus
add
cross
intersection
, comma cedilla
tail
dash
hyphen
minus
worm
option
dak
bithorpe
. period
dot
point
decimal point
radix point
full stop
spot
/ slash
stroke
slant
forward slash
diagonal
solidus
over
slak
virgule
slat
\
backslash
hack
whack
escape
reverse slash
slosh
backslant
backwhack
bash
reverse slant
reversed virgule
backslat
: colon dots
two-spot
; semicolon
semi
weenie
hybrid
pit-thwong
= equals
gets
takes
quadrathorpe
half-mesh
? question mark
query
ques
quiz
whatmark
what
wildchar
huh
hook
buttonhook
hunchback
@ at sign
at
strudel
each
vortex
whorl
whirlpool
cyclone
snail
ape
cat
rose
cabbage
commercial at
^ circumflex
caret
hat
control
uparrow
xor sign
chevron
shark (or shark-fin)
to the
fang
pointer
_ underline
underscore
underbar
under
score
backarrow
skid
flatworm
` grave accent
backquote
left quote
left single quote
open quote
grave
backprime
backspark
unapostrophe
birk
blugle
back tick
back glitch
push
opening single quote
quasiquote
| bar
or
or-bar
v-bar
pipe
vertical bar
vertical line
gozinta
thru
pipesinta
spike
~ tilde
squiggle
twiddle
not
approx
wiggle
swung dash
enyay
sqiggle (sic)


Vì vậy, nếu lần sau mà có một tay lập trình viên tiến tới trước mặt bạn và nói, “oh, it’s easy! Just type wax bang at hash buck grapes circumflex and splat wane”, thì bạn sẽ biết ý của anh ta là gì nhé.Nếu bạn tò mò về nguồn gốc của một số tên khá kỳ quặc ở trên, thì hãy tham khảo bộ đầy đủ các chú thích tại phần hướng dẫn phát âm ở trang web ascii-table.com.

Có lẽ như vậy.

Via Vinacode.net