1. Trang chủ
  2. » Công Nghệ Thông Tin

Phong cách lập trình

7 844 11
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 7
Dung lượng 51 KB

Nội dung

Phong cách lập trình

Trang 1

Quy định về Phong cách lập trình

Lê Sỹ Quang - Lê Sỹ Vinh

Phần I: Trình bày tên hằng tên biến và tổng quan chươngtrình.

I Giới thiệu

Phong cách lập trình của một lậptrình viên cũng giống như phong cách sống của một con người Có lẽ song song với việc học các kiến thứcphục vụ cho công việc lập trình bạn phải học và rèn luyện cho bản thân mình mộtphong cách lập trình tốt Việc học và rèn luyện một phong cách lập trình tốtnên tiến hành ngay từ khi bạn mới bắt tay vào học lập trình Một phong cách lậptrình tốt sẽ giúp bạn tạo ra một chương trình dễ đọc, dễ hiểu, dễ tìm và sửalỗi, dễ nhận thấy cấu trúc bậc cao của chương trình Những điều này sẽ

thuậnlợi cho cả người viết chương trình, người đánh giá chương trình, và người bảotrì chương trình Sau đây là một số những quy định về một phong cách lập trìnhtốt được đúc kết từ kinh nghiệm của các chuyên gia trên thế giới về lập trình

II Cách đặt tên biến và tên hằng

Khi mới học lập trình, chúng tathường cảm thấy việc đặt tên biến và tên hằng rất dễ dàng, bởi vì những chươngtrình đầu tiên thường ngắn, đơn giản, dễ hiểu và được lập trình trong mộtkhoảng thời gian ngắn liên tục Nhưng sau khi lượng kiến thức đã nhiều, cácchương trình bắt đầu dài ra, phức tạp hơn, số lượng biến và hằng cần dùng ngày càngnhiều, đặc biệt là một chương trình có thể được lập trình trong một khoảng thờigian dài, có thể là vài ngày, hoặc vài tháng Thậm chí một chương trình donhiều người lập trình, mỗi người làm một phần nào đó Khi đó việc đặt tên biếnvà tên hằng sẽ trở lên khó khăn hơn nhiều Bạn phải biết cách đặt tên biến vàtên hằng sao cho chúng mang ý nghĩa rõ dàng vàcó tính gợi cảm (lập trình viên có thể nhìn vào tên biến và tên hằng vàhiểu được chức năng và tác dụng của chúng).Sau đây là một số quy định về cách đặt tên biến và tên hằng:

1 Tên biến, tên hằng phải đượcđặt bởi một dãy kí tự có nghĩa

Ví dụ:

- var pp: char; Cách đặt tên biến như vậy là không tốt, biến pp khôngmang ý nghĩa và

không gợi nhớ cho lập trình viên

- var persion_position: char;Cách đặt tên biến như vậy là tốt, tên

biến mang ý nghĩa rõ ràng đồngthời gợi nhớ cho lập trình viên

2 Tên biến không nên đặt bằng toàn kí tự in hoa

Trang 2

Ví dụ:

var PERSON_POSITION: char;Việc đặt tên biến như thế này là không tốt, bởi nếu ta

coi một chương trình nhưmột văn bản thì trong một văn bản có quá nhiều chữ cái in hoa

sẽ làm cho ngườiđọc khó chịu và không nhận ra những chỗ quan trọng trong văn bản

3 Tên hằng nên đặt bằng mộtchuỗi kí tự in hoa

Trong một chương trình, số lượngcác hằng xuất hiện không nhiều, vậy nếu chúng ta đặt tên hằng là chuỗi kí tự inhoa sẽ phân biệt được chúng với tên biến

4 Các từ khoá nên dùng toàn chữcái thường

Ví dụ: for, while, do, begin, end

Như chúng ta đã biết trong một sốngôn ngữ thì bộ chương trình dịch không phân biệt chữ cái in hoa và chữ cái inthường (ví dụ trong ngôn ngữ lập trình Pascal) Nhưng trong một

số ngôn ngữ lậptrình khác thì chữ các in hoa và chữ cái in thường được coi là khác nhau Tronghầu hết các ngôn ngữ lập trình này, các từ khoá được viết dưới dạng chữ cái

inthường (ví dụ trong ngôn ngữ lập trình C++) Vậy một thói quen về việc dùng cáctừ khoá bằng toàn chữ cái in thường thì sẽ dễ dàng cho chúng ta hơn rất nhiềukhi chúng ta học một ngôn ngữ lập trình mới

5 Cách đặt tên biến dài

Khi một chương trình dài và phứctạp, đặc biệt là nhiều người viết thì lượng biến cần phải

sử dụng là rất lớn.Để tránh sự nhầm lẫn giữa các biến khác nhau thì các lập trình viên bắt buộcphải đặt các tên biến dài (thường từ 2 từ trở lên) Đối với các tên biến dài,ta có thể dùng chữ cái in hoa hoặc dấu gạch chân dưới để phân biệt giữa các từkhác nhau

Ví dụ:

- person_position hoặcpersonPosition: Là cách đặt tên biến tốt

- personposition: Là cáchđặt tên biến không tốt.

6 Cách đặt tên hàm

Có nhiều cách đặt tên hàm khácnhau Cách đặt tên hàm cũng giống như cách đặt tên biến Nhưng khi đặt tên chomột hàm thì cần có thêm một vài chú ý về cấu trúc ngữ pháp của tên hàm Mộttrong những cách đặt phổ biến trong việc đặt tên hàm là sử dụng cấu trúc

ngữpháp Độngtừ + Cụm danh từ.

Ví dụ:

- function search_table;

Trang 3

- function is_person;

III Trình bày tổng quan củachương trình

1 Tổng quan chương trình

Chương trình phải được lùi đầudòng một cách thích hợp Các câu lệnh �bên trong� các vòng lặp (ví dụ: for,while, repeate), các lệnh điều kiện rẽ nhánh (ví dụ: if, case) và trong cặp�begin end� phải được lùi thêm một bậc Bên cạnh đó các câu lện khai báobiến cũng nên lùi vào một bậc Việc lùi vào một bậc có thể được thực hiện bằngmột số dấu cách (space) hoặc dấu tab.Việc lùi vào một cách thích hợp các dòng lệnh sẽ cho lập trình viên thấyđược cấu trúc khối của chương trình, điều đó giúp cho việc tìm lỗi và sửa lỗidễ dàng hơn

Vídụ1: Chương trình viết có cấu trúc tốt.

function do_example;

var i:integer;

Begin

for i:=1 to n do

begin

if (i mod 2 = 0) then write(�số chẵn�)

else write(�số lẻ�);

end;

End;

Ví dụ 2: Chương trình viết có cấutrúc không tốt

functiondo_another_example;

var i: integer;

begin

fori:=1 to n do

begin

Trang 4

if (i mod 2 = 0) then write(�số chẵn�)

else write(�sốlẻ�);

end;

end;

2 Đoạn chương trình và dòng lệnh

Trong một file chương trìnhthường gồm nhiều hàm, trong một hàm có thể lại gồm nhiều đoạn nhỏ Mỗi đoạn nhỏnên được tách nhau ra bởi các dòng trống.Trong một đoạn nhỏ ý nghĩa của các dòng lệnh nên tương đối giống nhau vàphù hợp với nhau

Trong chương trình mỗi dòng chỉnên viết một dòng lệnh (các bộ chương trình dịch của các ngôn ngữ thường bỏ quatất cả các dấu trống, vì vậy việc bạn cố viết một chương trình với số lượngdòng ít bằng cách đẩy nhiều dòng lệnh trên cùng một dòng là vô nghĩa) Mỗi dònglệnh trên một dòng sẽ giúp bạn dễ dàng trong việc gỡ rối chương trình

IV Bài tập

Trênmặt phẳng toạ độ cho 2 hình chữ nhật có các cạnh song song với hai trục toạ độ.Hình chữ nhật thứ nhất được biếu diễn bởi hai cặp toạ độ đối tâm trái dưới vàphải trên là (x1,y1) và (x2,y2) Hìnhchữ nhật thứ hai được biếu diễn bởi hai cặp toạ độ đối tâm trái dưới và phảitrên là (x3,y3) và (x4,y4) Hãy viết một chương trình với số phép toán là ítnhất có thể được để kiểm tra xem hai hình chữ nhật trên có diện tích chung vớinhau hay không (diện tích chung lớn hơn 0)

Quy định về phong cách lập trình

Lê Sỹ Quang - Lê Sỹ Vinh

1 Mỗichương trình phải có một phần chú thích chung giới thiệu mục tiêu của

chươngtrình Điều đó sẽ giúp bạn dễ dàng nâng cấp và bảo trì chương trình trong thờigian sau này Phần chú thích của chương trình như một phát biểu ngắn ngọn vềbài toán cần giải quyết

Ví dụ:

Input:Một dãy số A có độ dài N

Output:Dãy số A sau khi đã được sắp xếp

Trang 5

2 Mỗi chươngtrình con cần phải có chú thích về mục đích của chương trình con đó,

những chúthích làm cho người đọc hiểu được mục đích của chương trình con chứ không phảigiúp người đọc hiểu được chương trình con đó được thực hiện như thế nào

Vídụ:

Chú thích đúng: mô tả mục đích của hàm

{hàm tinh_tong_2_sonhận vào 2 số nguyên, trả kết quả ra là một số nguyên bằng tổng

của 2 số nguyênnhận vào}

functiontinh_tong_2_so(giatri1, giatri2 : integer) : integer;

begin

tinh_tong_2_so:=giatri1 + giatri2;

end;

Chú thích sai: mô tả hoạt động của hàm

{hàm tinh_tong_2_solấy giatri1 cộng với giatri2}

functiontinh_tong_2_so(giatri1, giatri2 : integer) : integer;

begin

tinh_tong_2_so:=giatri1 + giatri2;

end;

3 Đốivới các cấu trúc dữ liệu quan trọng phải có chú thích và về mục đích của cấutrúc đó

và mỗi liên hệ của nó với các phần dữ liệu khác Vấn đề chú thích chonhững cấu trúc dữ liệu đặc biệt cần thiết cho lập trình hướng chức năng

Vídụ:

tuoi: array[1 max]of integer; { mang day_so lưu tuổi của tất cả các sinh viên trong trường)

4 Mỗichương trình con cần có chú thích về ý nghĩa cho từng tham số của chương trình

Vídụ:

{ diem1: chua toa do dinh thunhat cua tam giac,

Trang 6

diem2:chua toa do dinh thu hai cua tam giac,

diem3:chua toa do dinh thu ba cua tam giac}

procedure tinh_dien_tich_tamgiac(diem1, diem2, diem3 : kieu_diem);

5.Những đoạn chương trình phức tạp và khó hiểu, cần chú thích cẩn thận Lời chúthích sẽ liên quan đến nội dung của đoạn chương trình đó

Vídụ

{chương trình con dưới đây sẽ nhận vào một danh sách các số nguyên có độ dài làN, kết

quả trả ra là một bộ gồm 3 số dau,cuoi, tong cho biết đoạn con liên tiếp bắt đầu từ vị trí dauvà kết thúc ở vị trí cuoi có giá trị tổng bằng tong,đó là đoạn con liên tiếp trong dãy số

trên có tổng lớn nhất}

proceduretim_doan_con_dai_nhat(N : integer, A : kieu_mang_1_chieu, Var dau, cuoi, tong :integer);

begin

{ dùnghai vòng for để liệt kê tất cả các đoạn con liên tiếp của dãy số, mỗi đoạncon bắt

đầu từ vị trí firstvà kết thúc ở vị trí last}

forfirst:=1 to N do

forlast:=first to N do

begin

end;

end;

6 Đốivới mỗi chương trình con nên liệt kê điều kiện trước và điều kiện sau củachúng

Vídụ:

{điềukiện trước: so_chia phải có giá trị khác không, 2 giá trị đưa vào phải là 2số nguyên.

điều kiện sau: Phải tính tích của hai số với độ chính xác là 1/10000}

functiontinh_tich_2_so(so_bi_chia, so_chia : integer) : real;

Trang 7

7 Nêncó ít nhất một dòng trống (hoặc một dòng kẻ) trước mỗi chương trình con để táchbiệt nhưng chương trình con, điều này sẽ giúp cho ta phân biệt được các chươngtrình con khác nhau

Vídụ:

functiontinh_tong_2_so(giatri1, giatri2 : real) : real;

begin

tinh_tong_2_so:=giatri1 + giatri2;

end;

{ -}

function tinh_tich_2_so(giatri1, giatri2 : real) :real;

begin

tinh_tich_2_so:=giatri1 * giatri2;

end;

Lê Sỹ Quang - Lê Sỹ Vinh

Ngày đăng: 11/09/2012, 08:55

TỪ KHÓA LIÊN QUAN

w