Một cách lý tởng, một chơng trình thoả mãn hai mục đích: Trớc tiên, nó đa cho máy tính một bộ các lệnh khô khan, thứ hai, nó cung cấp cho những nhà lập trình một sự diễn tả rõ dàng, dễ đọc những gì chơng trình thực hiện.
Ví dụ 2-1 chứa một lỗi rõ ràng. Nó là một lỗi mà nhiều nhà lập trình vẫn còn tạo ra và một điều là nó gây ra nhiều phiền toái hơn là bất cứ vấn đề nào khác.
Example 2-1 contains a glaring error. It is an error that many programmers still make and one that causes more trouble than any other problem. The program contains
no comments.
Một sự làm việc nhng chơng trình không có sự chú thích là một quả bomb thời gian đạng chờ để nổ. Sớm hoặc muộn hơn một ngời nào đó sẽ phải sửa hoặc nâng cấp chơng trình, và sự thiếu các chú thích sẽ làm công việc khó hơn gấp mời lần. Một chơng trình đơn giản với sự chú thích hợp lý là một công việc khéo léo. Học cách chú thích nh thế nào cũng quan trọng nh là học để mã hoá nh thế nào cho đúng.
C++ có hai dạng chú thích. Kiểu thứ nhất bắt đầu với /* và kết thúc với */. Với kiểu chú thích này, nó có thể mở rộng nhiều dòng nh ở dới đây:
/* This is a single-line comment.*/ /*
* This is a multiline comment. */
Một kiểu chú thích khác bắt đầu với // và kéo dài đến cuối dòng.
//This is another form of comment.
//The // must begin each line that is to be a comment.
Ưu điểm của kiểu chú giả /* */ là nó có thể dễ ràng mở rộng ra nhiều dòng, ngợc lại, với kiểu // bạn phải đặt // trên mỗi một dòng. Nhợc điểm của /* */ nếu bạn quên */ thì câu chú thích trở thành mã chơng trình của bạn.
Kiểu chú thích nào bạn nên dùng? Bất cứ cái nào mà làm cho chơng trình của bạn rõ nhất, dễ đọc nhất có thể đợc. Phần lớn là nó thuộc vấn đề sở thích. Trong cuốn sách này chúng ta dùng kiểu /* */ cho những chú thích lớn và nhiều dòng trong khi dùng kiểu // khi mà nó chỉ chiếm một dòng.
Bất cứ kiểu chú thích nào bạn quyết định sử dụng, bạn cũng phải chú thích các chơng trình của mình. Ví dụ 3-1 là chơng trình "hello world" sau khi thêm các lời chú thích.
Example 3-1. hello2/hello2.cc
/**************************************************** * hello -- program to print out "Hello World". * * hello -- program to print out "Hello World". *
* Not an especially earth-shattering program. * * *
* Author: Steve Oualline * * *
* Purpose: Demonstration of a simple program * * *
* Usage: *
* Run the program and the message appears *
#include <iostream.h> main()
{
// Tell the world hello cout << "Hello World\n"; return (0);
}
Trong chơng trình này, những lời chú thích đầu tiên trong một hộp các dấu hoa thị (*) đợc gọi là hộp chú thích. Điều này đợc làm để nhấn mạnh những chú thích quan trọng hơn, nó giống nhiều với các chữ in đậm dùng cho các tiêu đề trong cuốn sách này. Các lời chú thích ít quan trọng hơn không đợc đóng khối. Ví dụ:
// Tell the world hello cout << "Hello World\n";
Để viết một chơng trình, bạn phải có một ý tởng rõ ràng là bạn sẽ làm gì. Một cách tốt nhất để thiết lập các ý nghĩ của bạn là viết chúng bằng một ngôn ngữ rõ ràng và dễ hiểu. Một khi quá trình rõ ràng có thể đợc bắt đầu, nó có thể đợc dịch ra chơng trình máy tính.
Hiểu đợc bạn đang làm cái gì, đó là một phần quan trọng của lập trình. Một lần tôi viết hai trang chú thích để miêu tả một thuật toán đồ hoạ phức tạp. Các chú thích đợc sửa lại hai lần trớc khi tôi bắt đầu mã hoá. Cuối cùng các chú thích bây giờ chỉ còn một nửa trang. Bởi vì tôi đã tổ chức tốt các ý t ởng của tôi (và cả may mắn), chơng trình đã chạy ngay lần đầu tiên.
Chơng trình của bạn nên đọc giống nh một sự làm thử, nó nên rõ ràng và dễ đọc nhất có thể. Một kiểu lập trình hoàn hảo có đợc từ kinh nghiệm và luyện tập. Style đợc mô tả trong trang dới đây là kết quả của nhiều năm kinh nghiệm lập trình. Nó có thể đợc sử dụng nh một điểm bắt đầu cho phát triển style của riêng bạn. Đây không phải là những nguyên tắc, nó chỉ là những gợi ý. Chỉ có các nguyên tắc là: tạo chơng trình rõ ràng, ngắn gọn, và đơn giản nhất có thể đợc.
Tại đầu của chơng trình là một khối chú thích, nó chứa thông tin về chơng trình. Đóng khối các chỉ dẫn làm cho chúng dễ phân biệt. Danh sách dới đây chứa một số đoạn mà nên đợc thêm vào đầu chơng trình. Không phải tất cả các chơng trình đầu cần toàn bộ các đoạn này, nh vậy chỉ cần một số chúng.
Tiêu đề
Chú thích đầu tiên nên chứa tên của chơng trình, ngoài ra thêm một sự miêu tả ngắn về nhiệm vụ của chơng trình. Bạn có thể có chơng trình khá thú vị, một dạng nh cắt lát, trò chơi súc sắc, và giải quyết tất cả các vấn đề của thế giới, nhng nó không đợc sử dụng nếu không ai biết nó làm cái gì.
Tác giả
Bạn đã qua rất nhiều những rắc rối để tạo lên chơng trình này. Hởng công trạng về nó. Cũng vậy, nếu một ai đó khác phải sửa chơng trình sau đó, thì họ có thể đến với bạn để có các thông tin và giúp đỡ.
Poor Person's Typesetting
Trong sắp chữ bạn có thể dùng kiểu phông và kích cỡ, chữ đậm và chữ nghiêng để làm các phần khác nhau văn bản của bạn nổi bật lên. Trong lập trình, bạn bị giới hạn bởi một phông dòng đơn, dấu cách đơn. Tuy nhiên, con ngời đã đạt đến những cách khôn khéo để tiến gần những giới hạn của kiểu chữ.
Một số cách chú thích:
/******************************************************** ******************************************************** ******************************************************** ********** WARNING: This is an example of a ************ *************** Warning message that grabs the ********* *************** Attention of the programmer. *********** ******************************************************** ********************************************************/ //---> Another, less important warning <--- //>>>>>>> Major section header <<<<<<<<<<<<<<<<<<<<<<<<< /******************************************************** * We use boxed comments in this book to de note the * * Beginning of the section or program * ********************************************************/ /*---*\ * This is another way of drawing boxes * \*---*/ /*
* This is the beginning of a section * ^^^^ ^^ ^^^ ^^^^^^^^^ ^^ ^ ^^^^^^^ *
* In the paragraph that folows we explain what * The section does and how it works.
*//* /*
* A medium-level comment explaining the next
* Dozen or so lines of code. Even though we don't have * The bold typeface we can **emphasize** words.
*/
Mục đích