[Học lập trình C++] Chương 1: 1.6 – Khoảng trắng và định dạng cơ bản
1.6 – Khoảng trắng và định dạng cơ bản
Khoảng trắng là một
kiểu kí tự dùng cho mục đích định dạng. Trong C++, nó ám chỉ space, tab và
newline. Trình biên dịch C++ thông thường bỏ qua khoảng trắng, với một vài ngoại
lệ nhỏ.
Do đó, câu lệnh dưới
đây thực hiện cùng một công việc:
1
2
3
4
5
6
7
8
|
cout << "Hello world!";
cout << "Hello world!";
cout
<< "Hello
world!";
cout
<<
"Hello world!";
|
Mặc dù câu lệnh cuối
cùng với dòng mới nhưng trong biên dịch vẫn tốt.
Các hàm sau thực hiện
cùng một thứ:
int add(int x, int y) { return x + y; }
int add(int x, int y) {
return x + y; }
int add(int x, int y)
{ return x + y; }
int add(int x, int y)
{
return x + y;
}
Một ngoại lệ trong
C++ là trình biên dịch không bỏ qua khoảng trắng trong các chuỗi văn bản. “Hello
world!”. “Hello world!” thì khác
nhau.
Và mỗi phát biểu in
ra một kết quả như bạn mong muốn.
Dòng mới không cho
phép dạng như sau:
cout << "Hello
world!" << endl; // Not allowed!
Một ngoại lệ khác
trong C++ là trình biên dịch không quan tâm đến khoảng trắng trong comment.
Dòng comment đơn chỉ kết thúc tại cuối của một dòng. Do đó việc thực hiện như
sau sẽ gây ra vấn đề.
cout << "Hello world!" << endl;
// Here is a single-line comment
this is not part of the comment
Kiểu định dạng cơ bản
Không giống ngôn ngữ
lập trình khác C++ không bắt buộc hạn chế kiểu định dạng nào đối với lập trình
viên (hãy nhớ, tin tưởng lập trình viên). Có nhiều phương thức khác nhau của định
dạng chương trình C++ được phát triển suốt năm, và bạn sẽ khó tìm thấy kiểu nào
là tốt nhất. Nguyên tắc cơ bản đó là kiểu tốt nhất là một kiểu mà dễ đọc nhất
và cung cấp nhiều tính nhất quán nhất.
Đây là kiểu định dạng
cơ bản mà chúng tôi đề nghị:
1) Tab của bạn nên đặt 4 khoảng trắng (hầu hết
IDE đều thiết lập như vậy). Một vài IDE mặc định là 3, điều này không sao cả.
Lý do
sử dụng khoảng trắng thay vì kí tự tab là nếu bạn mở code của bạn trong phần mềm
đọc khác, nó sẽ giữ được sự canh lề đúng đắn.
2) Dấu ngoặc móc nói rằng một hàm bắt đầu và kết
thúc nên được đồng chỉnh căn lề với tên hàm.
int
main()
{
}
Mặc
dù một số người viết code thích kiểu khác hơn, kiểu này là một kiểu dễ đọc nhất
và ít lỗi sinh ra từ đây vì cặp dấu của bạn luôn được đặt cùng cấp độ với nhau.
Nếu bạn bị một lỗi biên dịch bởi vì lỗi liên quan đến dấu ngoặc móc, nó rất dễ
đề tìm ra.
3) Mỗi câu lệnh trong dấu ngoặc móc nên bắt đầu bằng
việc thụt vào một tab. Ví dụ
int
main()
{
cout << "Hello world!"
<< endl; // tabbed in one tab (4 spaces)
cout << "Nice to meet you."
<< endl; // tabbed in one tab (4 spaces)
}
4) Một dòng không nên để quá dài. Thông thường
72, 78, 80 kí tự là chiều dài lớn nhất mà một dòng nên có. Nếu một dòng sẽ trở
nên dài, nó nên được chia ra làm nhiều dòng. Điều này có thể được thực hiện
int
main()
{
cout << "This is a really,
really, really, really, really, really, really, " <<
"really long line" <<
endl; // one extra indentation for continuation line
cout << "This is another really,
really, really, really, really, really, really, " <<
"really long line" <<
endl; // text aligned with the previous line for continuation line
cout << "This one is short"
<< endl;
}
5) Nếu một dòng dài bị ngắt thành 2 dòng bởi một
toán tử (ví dụ << hoặc +), toán tử nên được đặt tại cuối dòng, không nên
đặt ở đầu dòng tiếp theo:
cout << "This is a really,
really, really, really, really, really, really, " <<
"really long line"
<< endl;
Not
cout << "This is a really,
really, really, really, really, really, really, "
<< "really long
line" << endl;
6) Sử dụng khoảng trắng để làm cho code của bạn dễ
đọc hơn.
Khó
đọc:
nCost
= 57;
nPricePerItem
= 24;
nValue
= 5;
nNumberOfItems
= 17;
Dễ đọc:
nCost = 57;
nPricePerItem = 24;
nValue = 5;
nNumberOfItems
= 17;
Harder to read:
1
2
3
|
cout << "Hello world!" << endl; // cout
and endl live in the iostream library
cout << "It is very nice to meet you!" << endl;
// these comments make the code hard to read
cout << "Yeah!" << endl; // especially
when lines are different lengths
|
Easier to read:
1
2
3
|
cout << "Hello world!" << endl; // cout and endl live in
the iostream library
cout << "It is very nice to meet you!" << endl; // these comments are
easier to read
cout << "Yeah!" << endl; // especially when all
lined up
|
Harder to read:
1
2
3
4
5
6
|
// cout and endl live in the iostream library
cout << "Hello world!" << endl;
// these comments make the code hard to read
cout << "It is very nice to meet you!" << endl;
// especially when all bunched together
cout << "Yeah!" << endl;
|
Easier to read:
1
2
3
4
5
6
7
8
|
// cout and endl live in the iostream library
cout << "Hello world!" << endl;
// these comments are easier to read
cout << "It is very nice to meet you!" << endl;
// when separated by whitespace
cout << "Yeah!" << endl;
|
Chúng
ta sẽ tuân theo những quy ước trong suốt bài hướng dẫn này, và chúng sẽ trở
thành tự nhiên với bạn. khi chúng tôi giới thiệu một chủ đề mới với bạn, chúng
tôi sẽ giới thiệu phong cách lập trình với những tính năng đó.
Cuối
cùng, C++ hỗ trợ bạn mạnh mẽ trong việc chọn phong cách nào mà bạn thấy thoải
mái nhất, hoặc nghĩ là tốt nhất. Tuy nhiên, chúng tôi đề nghị bạn sử dụng phong
cách mà chúng tôi dùng trong ví dụ. Nó đã được thử nghiệm bởi hàng ngàn lập
trình viên và hàng tỉ dòng mã, và đã đã được tối ưu hóa.
Nguồn: learncpp.com
Nhận xét
Đăng nhận xét