Trong lĩnh vực lập trình, hằng số (Constant) là một định danh (identifier) được gán cho một giá trị cố định. Giá trị này không thể thay đổi trong suốt quá trình thực thi chương trình máy tính. Khác với biến (Variable), hằng số giữ nguyên giá trị ban đầu của nó một cách kiên định.

Mục đích chính của việc sử dụng hằng số là giúp code dễ đọc và dễ bảo trì hơn đáng kể. Thay vì sử dụng trực tiếp các “số ảo” (magic numbers) hoặc chuỗi ký tự lặp lại khó hiểu, ta gán chúng cho một cái tên ý nghĩa. Điều này giúp lập trình viên khác (hoặc chính bạn sau này) hiểu rõ hơn mục đích và ý nghĩa của giá trị đó trong ngữ cảnh chương trình.
Việc sử dụng hằng số còn là một biện pháp hiệu quả để ngăn ngừa các lỗi không mong muốn xảy ra. Nếu một giá trị quan trọng cần dùng lặp lại nhiều lần trong code và có khả năng thay đổi trong tương lai (ví dụ điển hình là thuế suất, số PI, URL cố định), việc khai báo nó thành hằng số ngay từ đầu và chỉ cần sửa đổi ở một nơi duy nhất khi cần sẽ an toàn hơn rất nhiều.
Nếu không dùng hằng số, bạn sẽ phải đi tìm và sửa giá trị đó ở mọi chỗ nó xuất hiện trong code. Công việc này không chỉ tốn thời gian mà còn rất dễ bỏ sót, dẫn đến sai sót logic nghiêm trọng trong chương trình của bạn. Hằng số giúp tập trung điểm thay đổi, giảm thiểu rủi ro phát sinh lỗi.
Cú pháp để khai báo hằng số thường có sự khác biệt giữa các ngôn ngữ lập trình phổ biến hiện nay. Tuy nhiên, ý tưởng cốt lõi đằng sau việc khai báo này là để thông báo rõ ràng cho trình biên dịch hoặc trình thông dịch của ngôn ngữ đó rằng định danh cụ thể này sẽ mang một giá trị đã được xác định và sẽ không được phép thay đổi.
Thông báo này giúp công cụ xử lý code có thể kiểm tra và báo lỗi ngay lập tức nếu có bất kỳ dòng lệnh nào cố gắng thay đổi giá trị của hằng số đó trong quá trình viết code. Điều này là một phần quan trọng trong việc đảm bảo tính đúng đắn và ổn định của chương trình. Việc sử dụng hằng số cũng giúp các lập trình viên khác đọc code của bạn hiểu ngay rằng giá trị đó mang một ý nghĩa đặc biệt và không nên bị thay đổi.
Phân biệt Hằng số và Biến trong Lập trình
Để hiểu rõ hơn về hằng số, việc so sánh và phân biệt nó với biến (Variable) là vô cùng quan trọng. Biến là một khái niệm cơ bản khác trong lập trình, cũng là một định danh dùng để lưu trữ giá trị, nhưng có một điểm khác biệt cốt lõi.
Biến (Variable) là một vùng nhớ có tên trong bộ nhớ máy tính, được sử dụng để lưu trữ một giá trị. Điểm đặc trưng của biến là giá trị mà nó lưu trữ có thể thay đổi trong suốt quá trình chương trình đang chạy. Bạn có thể gán một giá trị ban đầu cho biến, sau đó cập nhật hoặc thay đổi giá trị đó nhiều lần khi cần thiết.
Ví dụ, bạn có thể khai báo một biến tên là diem_so và gán giá trị ban đầu là 10. Trong quá trình chạy chương trình, nếu người dùng đạt thêm điểm, bạn có thể cập nhật giá trị của biến diem_so lên 20, 30, hoặc bất kỳ giá trị nào khác. Khả năng thay đổi này mang lại sự linh hoạt cho chương trình.
Ngược lại hoàn toàn, hằng số (Constant) cũng là một định danh được gán cho một vùng nhớ, nhưng giá trị mà nó lưu trữ đã được xác định ngay tại thời điểm khai báo và sẽ không bao giờ thay đổi trong suốt vòng đời của chương trình. Một khi giá trị được gán cho hằng số, nó sẽ giữ nguyên như vậy.
Ví dụ, nếu bạn cần sử dụng giá trị của số Pi (π) trong các phép tính, bạn sẽ khai báo một hằng số tên là PI và gán giá trị 3.14159. Giá trị này sẽ cố định và bạn không thể vô tình (hoặc cố ý) thay đổi PI thành 3.0 hay bất kỳ giá trị nào khác sau đó trong code.
Sự khác biệt cơ bản này quy định mục đích sử dụng của từng loại. Biến được dùng cho các giá trị động, thay đổi theo tương tác của người dùng, trạng thái chương trình, hoặc kết quả tính toán. Hằng số được dùng cho các giá trị cố định, các thiết lập, hoặc các đại lượng toán học/vật lý không thay đổi.
Việc lựa chọn đúng giữa biến và hằng số không chỉ ảnh hưởng đến tính đúng đắn của chương trình mà còn thể hiện ý định rõ ràng của lập trình viên. Nó giúp cho code trở nên minh bạch, dễ hiểu, và giảm thiểu khả năng phát sinh lỗi logic liên quan đến việc thay đổi giá trị không mong muốn. Nắm vững sự khác biệt này là nền tảng quan trọng.
Đặc điểm
Biến (Variable)
Hằng số (Constant)
Giá trị
Có thể thay đổi trong khi chạy
Không thể thay đổi sau khi khởi tạo
Mục đích
Lưu trữ dữ liệu động
Lưu trữ dữ liệu cố định, cấu hình
Khả năng gán lại
Có thể gán lại giá trị mới nhiều lần
Chỉ gán giá trị một lần khi khai báo
Tính đọc hiểu
Cần theo dõi sự thay đổi của giá trị
Giá trị đã biết và cố định
Xuất sang Trang tính
Bảng so sánh này tóm tắt những điểm khác biệt chính giữa biến và hằng số, giúp bạn hình dung rõ hơn về vai trò riêng biệt của chúng trong cấu trúc của một chương trình phần mềm.
Tại sao cần sử dụng Hằng số? Lợi ích khi dùng Constant
Việc sử dụng hằng số không chỉ là một quy tắc cú pháp đơn thuần mà còn mang lại nhiều lợi ích thiết thực trong quá trình phát triển phần mềm. Nó là một kỹ thuật tốt giúp code trở nên chuyên nghiệp và bền vững hơn theo thời gian. Các lợi ích này đặc biệt rõ rệt khi làm việc trong các dự án lớn hoặc làm việc theo nhóm.

Lợi ích đầu tiên và rất quan trọng là tăng tính dễ đọc và dễ hiểu code (Code Readability). Thay vì sử dụng các con số hoặc chuỗi ký tự trực tiếp trong logic chương trình (ví dụ: if status == 5:, calculate_area(radius * radius * 3.14159)), bạn gán chúng cho một cái tên có ý nghĩa (if status == ORDER_COMPLETED:, calculate_area(radius * radius * PI)). Tên hằng số giúp truyền tải ngay mục đích của giá trị đó.
Khi code dễ đọc hơn, quá trình bảo trì code (Code Maintenance) cũng trở nên hiệu quả hơn nhiều. Nếu bạn cần thay đổi một giá trị cố định (ví dụ: cập nhật thuế suất từ 10% lên 12%), bạn chỉ cần sửa đổi giá trị của hằng số đó ở một vị trí duy nhất trong code. Mọi nơi khác sử dụng hằng số này sẽ tự động được cập nhật theo.
Nếu không sử dụng hằng số, bạn sẽ phải rà soát toàn bộ mã nguồn để tìm tất cả các lần xuất hiện của giá trị cũ và thay thế bằng giá trị mới. Công việc này vừa tốn thời gian, vừa tiềm ẩn nguy cơ bỏ sót, dẫn đến sự không nhất quán và sai sót trong chương trình. Hằng số giúp việc cập nhật các giá trị cố định trở nên nhanh chóng và an toàn.
Một lợi ích then chốt khác là ngăn ngừa lỗi do gán sai hoặc thay đổi giá trị không mong muốn. Khi bạn khai báo một biến là hằng số, trình biên dịch hoặc trình thông dịch sẽ đảm bảo rằng giá trị của nó không bị thay đổi sau khi được khởi tạo. Nếu bất kỳ dòng code nào cố gắng gán lại giá trị cho hằng số này, hệ thống sẽ báo lỗi (thường là lỗi biên dịch hoặc lỗi runtime), giúp bạn phát hiện và sửa lỗi ngay lập tức.
Điều này đặc biệt hữu ích với các giá trị quan trọng hoặc nhạy cảm (ví dụ: thông số kết nối database, khóa API). Bạn muốn đảm bảo rằng những giá trị này luôn chính xác và không bao giờ bị thay đổi trong quá trình chương trình chạy. Hằng số cung cấp cơ chế bảo vệ này, giảm thiểu rủi ro an ninh và sai lệch dữ liệu.
Việc sử dụng hằng số còn giúp quản lý các “số ảo” (magic numbers) hiệu quả hơn. “Số ảo” là các con số hoặc chuỗi ký tự xuất hiện trực tiếp trong code mà không có giải thích rõ ràng về ý nghĩa của chúng. Chúng làm code khó hiểu và khó sửa đổi. Thay thế “số ảo” bằng hằng số có tên mô tả chính là một kỹ thuật lập trình tốt.
Ví dụ, thay vì viết if user_level >= 5:, bạn có thể định nghĩa PREMIUM_LEVEL = 5 và viết if user_level >= PREMIUM_LEVEL:. Code thứ hai dễ hiểu ngay lập tức về ý nghĩa của con số 5.
Tóm lại, việc áp dụng hằng số là một kỹ thuật đơn giản nhưng mang lại hiệu quả lớn, giúp nâng cao chất lượng code về mặt dễ đọc, dễ bảo trì, và tính ổn định, đặc biệt quan trọng trong các dự án phát triển phần mềm chuyên nghiệp.
Cách Khai báo Hằng số trong các Ngôn ngữ Phổ biến
Như đã đề cập, cú pháp để khai báo hằng số khác nhau giữa các ngôn ngữ lập trình. Tuy nhiên, nguyên tắc chung là sử dụng một từ khóa hoặc quy ước đặc biệt để biểu thị rằng giá trị gán cho định danh đó là cố định. Dưới đây là cách khai báo hằng số trong một số ngôn ngữ phổ biến:
Khai báo Hằng số trong Python
Python không có từ khóa riêng biệt như const hay final để khai báo hằng số theo nghĩa chặt chẽ. Thay vào đó, Python dựa vào quy ước đặt tên. Biến được viết toàn bộ bằng chữ in hoa được coi là hằng số.
Trình thông dịch Python không ngăn cấm việc thay đổi giá trị của một “hằng số” được khai báo theo quy ước này. Tuy nhiên, trong cộng đồng Python, việc thay đổi giá trị của một biến in hoa toàn bộ được xem là một hành vi không nên làm (bad practice) và vi phạm quy ước.
Ví dụ về khai báo hằng số theo quy ước trong Python:
Python
Khai báo hằng số theo quy ước
MAX_CONNECTIONS = 100
DEFAULT_TIMEOUT = 30
SITE_NAME = “My Website”
Đây là biến, giá trị có thể thay đổi
current_connections = 0
Cố gắng thay đổi giá trị hằng số (không bị lỗi cú pháp, nhưng nên tránh)
MAX_CONNECTIONS = 200 # KHÔNG NÊN LÀM
Trong ví dụ này, MAX_CONNECTIONS, DEFAULT_TIMEOUT, và SITE_NAME được xem là hằng số nhờ quy ước viết hoa toàn bộ. Mặc dù code có thể chạy nếu bạn cố gắng gán lại giá trị, việc này đi ngược lại mục đích và dễ gây nhầm lẫn cho người đọc code.
Khai báo Hằng số trong Java
Trong Java, bạn sử dụng từ khóa final để khai báo một biến mà giá trị của nó không thể bị thay đổi sau khi được gán lần đầu tiên. Để tạo một hằng số theo đúng nghĩa, người ta thường kết hợp final với các từ khóa khác.
Thông thường, hằng số trong Java được khai báo là public static final.
public: Có thể truy cập từ bất kỳ đâu.
static: Thuộc về lớp chứ không phải đối tượng cụ thể nào.
final: Đảm bảo giá trị không thay đổi sau khi gán.
Ví dụ về khai báo hằng số trong Java:
Java
public class Constants {
// Khai báo hằng số public static final
public static final double PI = 3.14159;
public static final int MAX_RETRIES = 5;
public static final String APP_VERSION = “1.0.0”;
public static void main(String[] args) {
System.out.println("Value of PI: " + PI);
// Cố gắng thay đổi giá trị hằng số (sẽ gây lỗi biên dịch)
// PI = 3.0; // Lỗi biên dịch!
}
}
Khi bạn cố gắng gán lại giá trị cho PI trong phương thức main, trình biên dịch Java sẽ báo lỗi ngay lập tức vì PI đã được đánh dấu là final. Điều này đảm bảo tính bất biến của hằng số.
Khai báo Hằng số trong C++
C++ cung cấp từ khóa const để khai báo hằng số. Khi một biến được khai báo với const, giá trị của nó phải được khởi tạo ngay tại thời điểm khai báo hoặc trong danh sách khởi tạo (constructor), và không thể được gán lại giá trị khác sau đó.
const có thể được sử dụng với nhiều kiểu dữ liệu khác nhau và ở các vị trí khác nhau để kiểm soát tính bất biến.
Ví dụ về khai báo hằng số trong C++:
C++
#include <iostream>
int main() {
// Khai báo hằng số dùng const
const int MAX_USERS = 1000;
const double GRAVITY = 9.81;
const std::string APP_NAME = “MyCPPApp”;
std::cout << "Max users: " << MAX_USERS << std::endl;
// Cố gắng thay đổi giá trị hằng số (sẽ gây lỗi biên dịch)
// MAX_USERS = 1200; // Lỗi biên dịch!
return 0;
}
Trong ví dụ này, việc cố gắng gán giá trị mới cho MAX_USERS sau khi nó đã được khai báo với const sẽ khiến trình biên dịch C++ dừng lại và báo lỗi. Từ khóa const đảm bảo rằng giá trị này là cố định trong suốt quá trình chương trình chạy.
Khai báo Hằng số trong JavaScript (JS)
JavaScript, từ phiên bản ES6 (ECMAScript 2015), đã giới thiệu từ khóa const để khai báo hằng số. Biến được khai báo bằng const có phạm vi block scope (giống let) và không thể gán lại giá trị cho cùng một định danh sau khi khởi tạo.
Tuy nhiên, điều quan trọng cần lưu ý là const trong JavaScript chỉ đảm bảo rằng định danh không thể được gán lại cho một giá trị khác. Đối với các kiểu dữ liệu tham chiếu như mảng (Array) hoặc đối tượng (Object), nội dung bên trong mảng hoặc đối tượng vẫn có thể bị thay đổi.
Ví dụ về khai báo hằng số trong JavaScript:
JavaScript
// Khai báo hằng số dùng const
const API_KEY = “abcdef123456”;
const MAX_ITEMS = 50;
const CONFIG = { timeout: 3000, retries: 3 };
console.log(“API Key:”, API_KEY);
// Cố gắng gán lại giá trị hằng số (sẽ gây lỗi TypeError)
// API_KEY = “newkey”; // Lỗi!
// Với object/array, nội dung bên trong CÓ THỂ thay đổi
CONFIG.timeout = 5000; // HỢP LỆ!
console.log(“New timeout:”, CONFIG.timeout);
// Nhưng không thể gán lại toàn bộ object khác
// CONFIG = { type: ‘prod’ }; // Lỗi TypeError!
Ví dụ này cho thấy API_KEY và MAX_ITEMS là hằng số thực sự về mặt giá trị đơn lẻ. Đối với CONFIG (một đối tượng), bạn không thể gán CONFIG cho một đối tượng mới khác, nhưng bạn có thể sửa đổi các thuộc tính bên trong đối tượng CONFIG đó (CONFIG.timeout = 5000).
Khai báo Hằng số trong PHP
PHP cũng cung cấp nhiều cách để định nghĩa hằng số. Cách phổ biến nhất là sử dụng hàm define() để định nghĩa hằng số toàn cục (global constant). Từ PHP 5.3 trở đi, bạn cũng có thể sử dụng từ khóa const để khai báo hằng số bên trong các lớp (class).
Hằng số được định nghĩa bằng define() có thể truy cập từ bất kỳ đâu trong mã nguồn mà không cần từ khóa global. Hằng số trong class (const) có phạm vi truy cập khác nhau tùy thuộc vào từ khóa phạm vi (public, protected, private - từ PHP 7.1).
Ví dụ về khai báo hằng số trong PHP:
PHP
<?php
// Khai báo hằng số toàn cục dùng define()
define(“SITE_URL”, “https://example.com”);
define(“DEBUG_MODE”, true);
echo SITE_URL; // Truy cập hằng số toàn cục
class Database {
// Khai báo hằng số trong class dùng const
const DEFAULT_HOST = “localhost”;
const DEFAULT_USER = “root”;
public function getConnection() {
echo "Connecting to: " . self::DEFAULT_HOST; // Truy cập hằng số trong class
}
}
// Cố gắng thay đổi giá trị hằng số (sẽ gây lỗi)
// define(“SITE_URL”, “newurl”); // Lỗi!
// Database:😃EFAULT_HOST = “127.0.0.1”; // Lỗi!
$db = new Database();
$db->getConnection();
?>
Trong PHP, các hằng số đã được định nghĩa bằng define() hoặc const trong class không thể được gán lại giá trị sau đó. Hệ thống sẽ báo lỗi nếu bạn cố gắng thực hiện việc này, đảm bảo tính bất biến của chúng.

Quy ước Đặt tên Hằng số
Để giúp code dễ đọc và phân biệt rõ ràng hằng số với biến hoặc các định danh khác, cộng đồng lập trình viên đã phát triển các quy ước đặt tên (naming conventions). Việc tuân thủ các quy ước này rất quan trọng khi làm việc trong các dự án chung.
Quy ước phổ biến và được chấp nhận rộng rãi nhất là đặt tên hằng số bằng tất cả các chữ cái viết hoa (uppercase). Nếu tên hằng số gồm nhiều từ, các từ sẽ được phân tách bằng dấu gạch dưới (_).
Ví dụ về tên hằng số theo quy ước:
MAX_SPEED
DEFAULT_PORT
ERROR_CODE_NOT_FOUND
TAX_RATE_VAT
USER_ROLE_ADMIN
Việc sử dụng quy ước này giúp lập trình viên đọc code nhanh chóng nhận ra ngay đó là một hằng số và hiểu rằng giá trị của nó không nên bị thay đổi. Điều này cải thiện đáng kể tính dễ đọc và giảm thiểu nguy cơ hiểu sai ý định ban đầu của người viết code.
Mặc dù một số ngôn ngữ không bắt buộc quy ước này (như Python), việc tuân thủ nó vẫn được khuyến khích mạnh mẽ vì lợi ích về mặt dễ đọc và bảo trì code trong dài hạn.
DỊCH VỤ LIÊN QUAN:
Nắm vững các khái niệm như hằng số là nền tảng vững chắc cho lập trình. Khi muốn đưa những kiến thức đó vào thực tế xây dựng website hay ứng dụng, một hạ tầng ổn định, tốc độ cao là thiết yếu. InterData mang đến dịch vụ thuê VPS giá rẻ uy tín tốc độ cao >> [ https://interdata.vn/thue-vps/ ]. Sử dụng phần cứng thế hệ mới (AMD EPYC, NVMe U.2) và công nghệ ảo hóa, VPS này có cấu hình mạnh, ổn định, giá chỉ từ 3K/Ngày.
Ví dụ Thực tế về Ứng dụng Hằng số
Hằng số được sử dụng rộng rãi trong nhiều tình huống khác nhau trong lập trình để làm cho code rõ ràng, an toàn và dễ quản lý. Dưới đây là một vài ví dụ thực tế về cách hằng số được áp dụng hiệu quả:
- Lưu trữ các giá trị cấu hình:
Các giá trị cấu hình như thông tin kết nối database (HOST, USER, PASSWORD, DB_NAME), khóa API (API_KEY), hoặc URL của các dịch vụ bên ngoài thường là cố định trong một môi trường nhất định (ví dụ: môi trường phát triển, kiểm thử, production). Khai báo chúng dưới dạng hằng số giúp dễ dàng thay đổi khi triển khai sang môi trường khác và đảm bảo tính chính xác.
Python
Ví dụ Python
DB_HOST = “localhost”
DB_USER = “admin”
DB_PASSWORD = “secure_password”
DB_NAME = “mydatabase”
API_KEY = “your_api_key_here”
SERVICE_URL = “https://api.external.com/v1/”
Sử dụng các hằng số này trong code
connect_to_database(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME)
fetch_data_from_api(SERVICE_URL, API_KEY)
- Đại diện cho các trạng thái hoặc mã lỗi:
Trong các hệ thống cần quản lý trạng thái (ví dụ: trạng thái đơn hàng, trạng thái người dùng) hoặc mã lỗi, việc sử dụng các con số hoặc chuỗi trực tiếp rất khó nhớ và dễ gây nhầm lẫn. Định nghĩa các hằng số với tên mô tả giúp code rõ ràng hơn rất nhiều.
Java
// Ví dụ Java
public class OrderStatus {
public static final int PENDING = 0;
public static final int PROCESSING = 1;
public static final int SHIPPED = 2;
public static final int DELIVERED = 3;
public static final int CANCELLED = 4;
}
// Sử dụng trong logic chương trình
// if (order.getStatus() == OrderStatus.DELIVERED) {
// // Xử lý khi đơn hàng đã giao
// }
- Các giá trị toán học hoặc vật lý:
Các hằng số toán học (như π, e) hoặc vật lý (như gia tốc trọng trường) có giá trị cố định. Việc định nghĩa chúng thành hằng số trong code giúp đảm bảo tính chính xác và dễ sử dụng trong các phép tính.
C++
// Ví dụ C++
const double PI = 3.141592653589793;
const double SPEED_OF_LIGHT = 299792458.0; // meters per second
const double EARTH_GRAVITY = 9.80665; // m/s2
// Sử dụng trong tính toán
// double area = PI * radius * radius;
- Giới hạn hoặc ngưỡng cố định:
Các giá trị giới hạn (ví dụ: số lượng mặt hàng tối đa trong giỏ hàng, kích thước buffer cố định) thường được định nghĩa là hằng số để dễ dàng truy cập và sửa đổi nếu cần.
JavaScript
// Ví dụ JavaScript
const MAX_CART_ITEMS = 10;
const UPLOAD_FILE_LIMIT_MB = 5; // MB
// Kiểm tra số lượng item trong giỏ hàng
// if (cart.items.length > MAX_CART_ITEMS) {
// console.log(“Cannot add more items.”);
// }
Những ví dụ này chỉ là một phần nhỏ các ứng dụng của hằng số. Bất cứ khi nào bạn có một giá trị cố định xuất hiện nhiều lần hoặc mang ý nghĩa đặc biệt, hãy cân nhắc sử dụng hằng số để làm cho code của bạn tốt hơn.
Tóm tắt và Kết luận
Qua bài viết này, chúng ta đã cùng tìm hiểu về khái niệm hằng số (Constant) trong lập trình. Đây là một khái niệm nền tảng nhưng vô cùng quan trọng, giúp chúng ta viết code hiệu quả, dễ đọc và dễ bảo trì hơn.
Chúng ta đã thấy sự khác biệt rõ ràng giữa hằng số (giá trị không đổi) và biến (giá trị có thể thay đổi), và tại sao việc phân biệt đúng hai khái niệm này lại cần thiết. Việc sử dụng hằng số mang lại nhiều lợi ích như cải thiện tính dễ đọc, dễ bảo trì code, và quan trọng nhất là giúp ngăn ngừa các lỗi tiềm ẩn do thay đổi giá trị không mong muốn.
Bài viết cũng đã đi sâu vào cách khai báo hằng số trong các ngôn ngữ lập trình phổ biến như Python, Java, C++, JavaScript và PHP, cùng với các ví dụ minh họa cụ thể cho từng ngôn ngữ. Mặc dù cú pháp có thể khác nhau, nguyên tắc về tính bất biến của giá trị hằng số là nhất quán trên hầu hết các ngôn ngữ.
Cuối cùng, chúng ta đã xem xét các quy ước đặt tên hằng số phổ biến (viết hoa toàn bộ, dùng dấu gạch dưới) và một số ví dụ thực tế về việc ứng dụng hằng số trong các tình huống lập trình hàng ngày. Việc tuân thủ quy ước này giúp code trở nên chuyên nghiệp và dễ cộng tác hơn.
Nắm vững và áp dụng đúng cách khái niệm hằng số là một bước đệm vững chắc trên con đường trở thành một lập trình viên giỏi. Hãy luôn cân nhắc sử dụng hằng số cho các giá trị cố định trong chương trình của bạn để hưởng trọn những lợi ích mà nó mang lại.
Đọc thêm về Hằng số (Constant) tại: https://interdata.vn/blog/hang-so-la-gi/