Đặc tả chương trình (Program Specifications)

Một phần của tài liệu Lập trình trực quan tài liệu lập trình (Trang 159 - 160)

Dầu chương trình lớn hay nhỏ, trước hết ta phải xâc định rõ răng vă tỉ mỉ nó cần phải lăm gì, bao nhiíu người dùng, mạng như thế năo, cơ sở dữ liệu lớn bao nhiíu, phải chạy nhanh đến mức năo...

Có nhiều chương trình phải bị thay đổi nữa chừng vì lập trình viín hiểu lầm điều khâch hăng muốn. Do đó, khi triển khai một dự ân phần mềm ta cần phải âp dụng chăt chẽ qui trình phât triển phần mềm (xem trong môn học Công nghệ phần mềm hoặc đọc thím câc tăi liệu về Software Engineering).

1. Cấu trúc câc bộ phận

Chương trình năo cũng có một kiến trúc tương tự như một cỗ mây. Mỗi bộ phận căng đơn giản căng tốt vă câch râp câc bộ phận phải như thế năo để ta dễ dùng thử, dễ kiểm tra (testing). Trong khi thiết kế ta phải biết trước những yếu điểm của mỗi bộ phận nằm ở đđu để ta chuẩn bị câch thử chúng. Ta sẽ không thể tin bộ phận năo hoăn hảo cho đến khi đê thử nó, dù nó đơn giản đến đđu.

Nếu ta muốn dùng một kỹ thuật gì trong một hoăn cảnh năo mă ta không biết chắc nó chạy không thì nín thử riíng rẽ nó trước. Phương phâp ấy được gọi lă Prototype.

Ngoăi ra, ta cũng nín xđy dựng những kịch bản kiểm thử cho những trường hợp đặc biệt, điển hình lă dùng bad data (dữ liệu xấu) - khi người sử dụng bấm lung tung hay cơ sở dữ liệu chứa nhiều râc.

Nếu chương trình chạy trong real-time (tức lă dữ liệu thu nhập qua cổng COM, hay qua mạng), chúng ta cần phải lưu ý những trường hợp khâc nhau tùy theo việc gì xảy ra trước, việc

gì xảy ra sau. Phương phâp kiểm thử tốt nhất lă xđy dựng trước những kịch bản vă dữ liệu để có thể thử từng giai đoạn vă tình huống.

Ngăy nay với kỹ thuật hướng đối tượng, ở giai đoạn thiết kế năy lă lúc quyết định câc cấu trúc dữ liệu (bảng, mảng, bản ghi...) vă số lượng câc Form, Class. Lưu ý rằng, mỗi Class gồm có một cấu trúc dữ liệu vă những Subs/Functions/Properties lăm việc trín dữ liệu ấy. Cấu trúc dữ liệu phải chứa đầy đủ những chi tiết ta cần (tín trường, tín kiểu dữ liệu...). Kế đó lă những câch chương trình xử lý dữ liệu. Subs/Functions năo có thể cho bín ngoăi gọi thì ta cho nó

Public, còn những Subs/Functions khâc hiện hữu để phục vụ bín trong class thì ta cho nó

Private.

2. Kỹ thuật lập trình

Kiến thức cơ bản của lập trình viín vă câc thói quen của họ rất quan trọng. Nói chung, những người hấp tấp, nhảy văo viết chương trình trước khi suy nghĩ hay cđn nhắc chín chắn thì sau năy bugs xuất hiện nhiều lă điều tự nhiín.

3. Dùng Subs vă Functions

Nếu ở giai đoạn thiết kế kiến trúc của chương trình ta chia ra từng Class, thì khi lập trình ta lại thiết kế chi tiết về Subs, Functions..., mỗi thứ sẽ cần phải thử như thế năo. Nếu ta có thể chia công việc ra từng giai đoạn thì mỗi giai đoạn có thể gọi đến một Sub. Thứ gì cần phải tính ra hay lấy từ nơi khâc thì có thể được thực hiện bằng một Function.

Nhớ rằng điểm khâc biệt chính giữa một Sub vă một Function lă Function cho ta một kết quả mă không lăm thay đổi giâ trị những tham số đầu văo mă ta cung cấp cho nó. Trong khi đó, dầu rằng Sub không cho ta gì một câch rõ răng nhưng nó có thể thay đổi trị số (giâ trị) của bất cứ tham số năo ta chuyển cho nó ByRef.

Do đó để trânh trường hợp vô tình lăm cho trị số một biến bị thay đổi vì ta dùng nó trong một Sub/Function chúng ta nín dùng ByVal khi chuyển nó như một tham số văo một Sub/Function.

Thật ra, chúng ta có thể dùng ByRef cho một tham số chuyển văo một Function. Trong trường hợp đó dĩ nhiín biến ấy có thể bị sữa đổi. Điều năy gọi lă phản ứng phụ (side effect), vì bình thường ít ai lăm vậy. Do đó, nếu chúng ta thật sự muốn vượt ngoăi qui ước thông thường thì nín Comment rõ răng để cảnh bâo người sẽ đọc chương trình chúng ta sau năy.

Ngoăi ra, mỗi lập trình viín thường có một Source Code Library của những

Subs/Functions ưng ý. Chúng ta nín dùng câc Subs/Functions trong Library của chúng ta căng nhiều căng tốt, vì chúng đê được thử nghiệm rồi.

Một phần của tài liệu Lập trình trực quan tài liệu lập trình (Trang 159 - 160)