Trước khi chúng ta có thể viết và thực hiện chương trình C ++ đầu tiên của mình, chúng ta cần hiểu chi tiết hơn về cách các chương trình C ++ được phát triển. Đây là các bước cơ bản để phát triển một chương trình đơn giản:
- B1: Xác định vấn đề cần giải quyết(Yêu cầu khách hàng, yêu cầu bài tập nào đó,….)
- B2: Tìm giải pháp để giải quyết vấn đề đó
- B3: Viết chương trình dựa vào giải pháp đó(Viết code…)
- B4: Compile source
- B5: Linker các Object và libraries
- B6: Test chương trình(Chạy chương trình và test nó)
- B7: Fix bug nếu có và thực hiện lại bước 4 cho tới khi hoàn thiện nó
Nội dung chính
Bước 1: Xác định vấn đề mà bạn muốn giải quyết.
Đây là bước đặt câu hỏi làm gì?, nơi bạn tìm ra vấn đề mà bạn đang có ý định giải quyết. Đưa ra ý tưởng ban đầu cho những gì bạn muốn lập trình có thể là bước dễ nhất hoặc khó nhất. Nhưng về mặt khái niệm, nó là đơn giản nhất. Tất cả những gì bạn cần là một ý tưởng được xác định rõ ràng.
Đây là vài ví dụ:
Tôi muốn viết một chương trình cho phép tôi nhập nhiều số, sau đó tính trung bình của chúng.
Tôi muốn viết một chương trình đọc trong một tập tin về giá vàng và dự đoán liệu giá vàng sẽ tăng hay giảm.
Bước 2: Xác định cách bạn sẽ giải quyết vấn đề.
Đây là bước làm thế nào, Nơi mà bạn xác định cách bạn sẽ giải quyết vấn đề của bạn đã đưa ra ở bước 1. Đây cũng là bước bị lãng quên nhất trong phát triển phần mềm. Mấu chốt của vấn đề là có nhiều cách để giải quyết vấn đề – tuy nhiên, một số giải pháp thì tốt và một số thì xấu.
Thông thường thì một lập trình viên sẽ có một ý tưởng, ngồi xuống và ngay lập tức bắt đầu code giải pháp đó. Điều này thường tạo ra một giải pháp có thể rơi vào loại xấu.
Thông thường, các giải pháp tốt có các đặc điểm sau:
- Chúng đơn giản (không quá phức tạp hoặc khó hiểu).
- Chúng chạy thử tốt với nhiều trường hợp (đặc biệt là với bất kỳ giả định nào được đưa ra hoặc giới hạn nào đó).
- Chúng được xây dựng theo mô-đun, vì vậy các phần có thể được tái sử dụng hoặc thay đổi sau đó, mà không ảnh hưởng đến các phần khác của chương trình.
- Chúng rất dễ mở rộng và có thể dễ bảo trì hoặc đưa ra các thông báo lỗi hữu ích khi có điều gì đó bất ngờ xảy ra.
Khi bạn ngồi xuống và bắt đầu viết code ngay lập tức, bạn thường nghĩ rằng tôi muốn làm điều đó, vì vậy bạn thực hiện giải pháp giúp bạn đến đó nhanh nhất. Điều này có thể dẫn đến các chương trình dễ bị rối, khó thay đổi hoặc mở rộng sau này hoặc có nhiều bug (bug kỹ thuật).
Các nghiên cứu đã chỉ ra rằng chỉ có 20% thời gian lập trình viên thực sự dành thời gian để viết chương trình ban đầu. 80% còn lại dành cho bảo trì, có thể bao gồm fix bug (loại bỏ bug), cập nhật để đối phó với những thay đổi trong môi trường (ví dụ: chạy trên phiên bản HĐH mới), cải tiến (thay đổi nhỏ để cải thiện khả năng sử dụng) hoặc cải tiến nội bộ (để tăng độ tin cậy hoặc khả năng bảo trì).
Do đó, đáng để bạn dành thêm một chút thời gian trước khi bạn bắt đầu viết code để suy nghĩ về cách tốt nhất nhằm giải quyết vấn đề đó, giả định nào bạn đang thực hiện và cách bạn có thể lên kế hoạch cho tương lai, để tự cứu lấy rất nhiều thời gian và rắc rối trong tương lại cho bạn.
Chúng tôi sẽ nói nhiều hơn về cách thiết kế một cách hiệu quả các giải pháp cho các vấn đề trong một số bài học trong tương lai.
Bước 3: Viết chương trình
Để viết chương trình, chúng tôi cần hai điều: Đầu tiên chúng tôi cần kiến thức về ngôn ngữ lập trình – đó là những gì mà cafedev sẽ giúp bạn và hơn thế nữa! – Trong series này.
Thứ hai, chúng tôi cần một lập trình viên. Họ có thể viết một chương trình bằng bất kỳ trình soạn thảo nào bạn muốn, thậm chí một thứ đơn giản như Window notepad hoặc Unix hoặc pico. Tuy nhiên, chúng tôi khuyên bạn nên sử dụng một trình soạn thảo được thiết kế để code. Chúng tôi sẽ đề cập đến cách cài đặt trình soạn thảo code trong thời gian ngắn nhất cho bạn. Tại đây.
Một trình soạn thảo điển hình được thiết kế với một vài tính năng giúp lập trình dễ dàng hơn nhiều, bao gồm:
1) Đánh số dòng. Đánh số dòng rất hữu ích khi trình biên dịch gây ra lỗi cho chúng ta, vì một lỗi nào đó, trình biên dịch sẽ cho chúng ta biết: một số mã bị lỗi/ thông báo lỗi, dòng đang bị lỗi. Nếu không có trình soạn thảo hiển thị số dòng, việc tìm tới dòng bị lỗi có thể là một rắc rối thực sự.
2) Cú pháp tô sáng và tô màu. Cú pháp tô sáng và tô màu, thay đổi màu sắc của các phần khác nhau trong chương trình của bạn để giúp xác định các thành phần khác nhau trong chương trình của bạn dễ dàng hơn. Dưới đây, một ví dụ về chương trình C ++ với cả đánh số dòng và tô sáng cú pháp:
#include <iostream>
int main()
{
std::cout << "Colored text!";
return 0;
}
3) Một phông chữ rõ ràng. Phông chữ không dành cho lập trình thường khó phân biệt giữa số 0 và chữ O hoặc giữa số 1, chữ l (chữ thường L) và chữ i (chữ hoa I). Một phông chữ lập trình tốt sẽ phân biệt các ký hiệu này để đảm bảo sẽ không có chuyện một cái này vô tình được sử dụng thay cho cái kia.
Trong C ++, các chương trình của bạn thường được gọi là name.cpp, trong đó name được thay thế bằng tên bạn chọn cho chương trình (ví dụ: máy tính, hi-lo, v.v …). Phần mở rộng .cpp cho trình biên dịch (và bạn) biết rằng đây là file code nguồn của C ++ có chứa các dòng code C ++. Lưu ý rằng một số người sử dụng phần mở rộng .cc thay vì .cpp, nhưng chúng tôi khuyên bạn nên sử dụng .cpp.
Đặt tên cho tệp code của bạn là name.cpp, trong đó name là tên bạn chọn và .cpp là phần mở rộng cho biết file là file code nguồn của C ++.
Cũng lưu ý rằng nhiều chương trình C ++ phức tạp có nhiều file .cpp. Mặc dù hầu hết các chương trình mà bạn sẽ tạo lúc mới đầu học sẽ chỉ có một file .cpp duy nhất để chỉ viết một chương trình nhưng một chương trình lớn có thể có hàng chục hoặc hàng trăm file .cpp.
Khi chúng ta viết chương trình của mình, các bước tiếp theo là chuyển đổi nó thành thứ gì đó mà chúng ta có thể chạy, và sau đó xem liệu nó có hoạt động không! Chúng ta sẽ thảo luận về các bước đó (4-7) trong bài học tiếp theo.