Đối với C++,
$ cat name.cpp
int main() {
int a = 74678;
int bcdefghijklmnopqrstuvwxyz = 5664;
}
$ g++ -S name.cpp
$ cat name.s
.file "name.cpp"
.text
.align 2
.globl main
.type main, @function
main:
.LFB2:
pushl %ebp
.LCFI0:
movl %esp, %ebp
.LCFI1:
subl $8, %esp
.LCFI2:
andl $-16, %esp
movl $0, %eax
addl $15, %eax
addl $15, %eax
shrl $4, %eax
sall $4, %eax
subl %eax, %esp
movl $74678, -4(%ebp)
movl $5664, -8(%ebp)
movl $0, %eax
leave
ret
.LFE2:
.size main, .-main
.section .note.GNU-stack,"",@progbits
.ident "GCC: (GNU) 3.4.6 20060404 (Red Hat 3.4.6-11.0.1)"
$
Như bạn có thể thấy, không a
cũng không bcdefghijklmnopqrstuvwxyz
phản ánh trong kết quả lắp ráp. Vì vậy, độ dài của tên biến không quan trọng khi chạy theo bộ nhớ.
Nhưng, tên biến là những người đóng góp lớn cho thiết kế chương trình. Một số lập trình viên thậm chí còn dựa vào các quy ước đặt tên tốt thay vì bình luận để giải thích thiết kế chương trình của họ.
Một câu nói có liên quan từ Hacker News,
Mã nên được viết để diễn tả hoàn toàn chức năng của chương trình để độc giả của con người, và chỉ tình cờ được giải thích bởi các máy tính. Chúng tôi có một thời gian khó nhớ tên ngắn trong một thời gian dài, và chúng tôi có một thời gian khó khăn nhìn vào tên dài hơn và hơn nữa trong một hàng. Ngoài ra, tên ngắn mang khả năng va chạm cao hơn (vì không gian tìm kiếm nhỏ hơn), nhưng dễ dàng hơn để "giữ" trong thời gian ngắn đọc.
Do đó, các quy ước đặt tên cho mọi thứ của chúng tôi nên xem xét đến những hạn chế của bộ não con người. Độ dài của tên biến phải tỷ lệ thuận với khoảng cách giữa định nghĩa của nó và cách sử dụng của nó, và tỷ lệ nghịch với tần số sử dụng của nó.
tên dài như trong (2) sẽ chiếm nhiều bộ nhớ hơn trong đầu lập trình viên :) – Chubsdad
Tiêu đề cho biết "bằng bất kỳ ngôn ngữ lập trình nào" nhưng thẻ nói "C++" (trước khi Martin thêm thẻ "ngôn ngữ bất khả tri") . Vì vậy, đó là một trong nó? – sepp2k
Tất cả các bạn đang xem xét số nguyên mà tôi đang nói đến nhưng tôi nói bất kỳ nơi nào trong bộ nhớ a và a_long_variable_name_used_instead_of_small_one mất một số không gian hoặc không – Guri