Những hiểu lầm của lập trình viên về tên gọi (2010)
(kalzumeus.com)- Mỗi người có đúng một tên chuẩn (chính thức). (canonical full name)
- Mỗi người chỉ dùng đúng một cái tên.
- Tại một thời điểm cụ thể, mỗi người có đúng một tên chuẩn.
- Tại một thời điểm cụ thể, mỗi người chỉ dùng đúng một cái tên.
- Mỗi người có một số lượng tên nhất định.
- Tên của một người chắc chắn phải vừa trong một không gian có kích thước cố định.
- Tên của một người không thay đổi.
- Tên của một người có thay đổi, nhưng chỉ thay đổi do những sự kiện nhất định.
- Tên của một người được biểu diễn bằng các ký tự ASCII.
- Tên của một người có thể được biểu diễn bằng một tập ký tự nhất định. (Character set)
- Tên của một người ánh xạ sang Unicode. (Unicode code point)
- Tên của một người phân biệt chữ hoa chữ thường.
- Tên của một người không phân biệt chữ hoa chữ thường.
- Tên của một người đôi khi có tiền tố hoặc hậu tố, nhưng có thể bỏ qua chúng.
- Tên của một người không chứa chữ số.
- Toàn bộ tên của một người không được viết bằng chữ in hoa.
- Toàn bộ tên của một người không được viết bằng chữ thường.
- Tên của một người có một thứ tự nào đó, và mọi hệ thống đều áp dụng thứ tự này giống nhau.
- Tên riêng và họ của một người tất nhiên là khác nhau.
- Tên của một người bao gồm họ (last name), họ tộc (family name), hoặc một dạng tên gọi nào đó mà những người được xem là họ hàng có thể cùng chia sẻ.
- Tên của một người là duy nhất trên toàn thế giới.
- Tên của một người gần như là duy nhất trên toàn thế giới.
- Được rồi được rồi, nhưng chắc chắn không thể có chuyện cả một triệu người cùng có một cái tên giống hệt nhau.
- Hệ thống của tôi chắc chắn sẽ không bao giờ phải xử lý tên của người Trung Quốc.
- Hoặc người Nhật.
- Hoặc người Hàn Quốc.
- Hoặc ở những nơi như Ireland, Anh, Mỹ, Tây Ban Nha, Mexico, Brazil, Peru, Nga, Thụy Điển, Botswana, Nam Phi, Trinidad, Haiti, Pháp, hoặc Đế chế Klingon. Ở tất cả những nơi này, các hệ thống tên gọi "kỳ quặc" đều được sử dụng phổ biến.
- Đế chế Klingon chỉ là đùa thôi đúng không?
- Thôi dẹp cái chủ nghĩa tương đối văn hóa đó đi! Ít nhất thì con người của chúng ta vẫn dùng một hệ thống tên gọi duy nhất.
- Có tồn tại một thuật toán có thể biến đổi (transform) tên rồi khôi phục lại nguyên bản mà không mất mát. (Ừ rồi, một thuật toán chỉ việc trả lại nguyên đầu vào thì chắc là làm được. Tặng bạn một ngôi sao vàng.)
- Có thể chắc chắn rằng trong từ điển các từ tục tĩu sẽ không có tên của bất kỳ ai.
- Tên của một người được quyết định khi sinh ra.
- Được rồi, có thể không phải ngay lúc sinh, nhưng ít nhất là ngay sau khi sinh.
- Rồi rồi, quanh khoảng một năm sau sinh.
- 5 năm?
- Đùa à?
- Hai hệ thống khác nhau cùng chứa dữ liệu về một người sẽ dùng cùng một cái tên cho người đó.
- Nếu hệ thống được thiết kế tốt, hai nhân viên nhập liệu khác nhau sẽ nhập vào các chuỗi hoàn toàn tương đương cho tên của cùng một người. (bitwise equivalent strings)
- Những người có cái tên làm hỏng hệ thống của tôi là các trường hợp ngoại lệ kỳ quặc. Lẽ ra họ phải có những cái tên rõ ràng và chấp nhận được. Ví dụ như 田中太郎.
- Con người có tên.
9 bình luận
Có vẻ như một thiết kế tốt không bắt đầu từ việc chuẩn hóa mọi trường hợp, mà từ sự khiêm tốn trước những dữ liệu phức tạp và biến đổi như tên gọi.
Hiểu lầm phổ biến: thiết kế tốt phải được tạo ra để có thể "đáp ứng mọi" tình huống có thể thay đổi
zzz
Đúng là một lời hay!
À đúng rồi.. sẽ rất cảm ơn nếu bạn thêm
(2010)vào tiêu đề @xguruCảm ơn bạn
Bài viết từ năm 2010 nhỉ. Giờ thì đã là một môi trường có thể nhập tên của chính mình rồi chứ.
Hoặc là người Nhật, hoặc là người Hàn
kkk
Bản gốc còn có phần giới thiệu ngắn ở đầu và cuối cùng một chút hài hước, nên mình khuyên bạn ghé đọc thử!