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

Phong cách lập trình C/C++

4 342 1
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 4
Dung lượng 120,41 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Giới thiệu phong cách lập trình với C và C++ của thầy Nguyễn Việt Hà

Trang 1

Sì l÷ñc phong c¡ch lªp tr¼nh trong C/C++

Nguy¹n Ngåc B£o - Nguy¹n Vi»t H 

1 Giîi thi»u

Ch÷ìng tr¼nh m¡y t½nh l  mët d¤ng t i li»u r§t phùc t¤p V¼ th¸ º ch÷ìng tr¼nh ÷ñc rã r ng v  d¹ hiºu c¦n ph£i tu¥n thõ theo mët phong c¡ch lªp tr¼nh khoa håc, thèng nh§t i·u n y s³ gióp gi£m bît cæng sùc n¸u sau n y c¦n ph£i åc, gï rèi v  sûa l¤i ch÷ìng tr¼nh (°c bi»t trong tr÷íng hñp ph¡t triºn theo nhâm) T i li»u n y giîi thi»u mët c¡ch sì l÷ñc v· phong c¡ch lªp tr¼nh trong C/C++

2 °t t¶n

T¶n ph£i °t câ þ ngh¾a! °t t¶n câ þ ngh¾a s³ gióp ch÷ìng tr¼nh d¹ hiºu

v  g¦n vîi t÷ duy cõa ng÷íi lªp tr¼nh hìn Tr¡nh c¡ch °t t¶n chung chung ho°c c¡c t¶n m°c ành nh÷ untitled, noName, var1

2.1 Quy ֔c chung

°t t¶n theo mët sè quy ÷îc chung s³ gióp ng÷íi lªp tr¼nh x¡c ành ÷ñc þ ngh¾a cõa m¢ ngay tø t¶n cõa chóng

- T¶n bi¸n: vi¸t k¸t hñp chú hoa-chú th÷íng, b­t ¦u b¬ng chú th÷íng V½ dö: a, sum, totalNumbers

- T¶n h¬ng: vi¸t to n bë b¬ng chú hoa, sû döng d§u g¤ch d÷îi (_) º ph¥n t¡ch c¡c tø V½ dö: MAX_STUDENTS

- T¶n kiºu (class, struct ): ph£i l  mët danh tø, vi¸t k¸t hñp chú hoa-chú th÷íng, b­t ¦u b¬ng hoa-chú hoa V½ dö: OddNumber, EvenNumber

- T¶n h m: ph£i l  mët cöm ëng tø, vi¸t k¸t hñp chú hoa, chú th÷íng, b­t ¦u b¬ng chú th÷íng V½ dö: getName(), calculateSum()

Trang 2

- C¡c chú vi¸t t­t khæng n¶n vi¸t to n b¬ng chú hoa khi sû döng l m t¶n V½ dö: exportHtmlSource(), openDvdPlayer()

- Cè g­ng vi¸t t¶n b¬ng ti¸ng Anh v¼ ti¸ng Vi»t khæng d§u th÷íng g¥y khâ hiºu

2.2 Quy ÷îc cö thº

D÷îi ¥y giîi thi»u mët sè quy ÷îc cö thº èi vîi °t t¶n:

- C¡c bi¸n ¸m (v½ dö trong váng l°p) n¶n l  i, j, k

- Bi¸n v  ph÷ìng thùc bool n¶n dòng ti¸p ¦u ngú is V½ dö: isFound, isStudent() Ngo i ra trong tøng tr÷íng hñp cö thº câ thº sû döng c¡c ti¸p ¦u ngú kh¡c nh÷ has, can V½ dö: hasStudent(), canCalculated() Khæng n¶n dòng t¶n câ þ ngh¾a phõ ành nh÷ hasNoStudent

- Ph÷ìng thùc y¶u c¦u t½nh to¡n g¼ n¶n dòng ti¸p ¦u ngú compute V½ dö: computeSum(), computeAverage()

- Ph÷ìng thùc y¶u c¦u t¼m ki¸m g¼ â n¶n dòng ti¸p ¦u ngú find V½ dö: findMaxElement(), findSortedPath()

- Bi¸n biºu di¹n sè l÷ñng èi t÷ñng n¶n dòng cho ti¸p ¦u ngú n V½ dö: nStudents, nElements

3 ành d¤ng

C«n ch¿nh ¦u dáng èi vîi méi o¤n code b¬ng kþ tü tab Khæng sû döng

kþ tü space º c«n ch¿nh C¡c d§u {} ph£i ÷ñc giâng th¯ng h ng i·u n y gióp ph¥n bi»t rã r ng c¡c khèi ch÷ìng tr¼nh

V½ dö:

while (!done) {

doSomething();

if (isFound(a)) {

done = moreToDo();

}

}

Trang 3

Khai b¡o bi¸n ho°c vi¸t c¡c c¥u l»nh n¶n c«n ch¿nh th¯ng h ng º d¹ åc (dòng kþ tü tab)

V½ dö:

int minPosition, averagePosition;

float x,y,z;

minPosition = computeMinPostion (x, y, z);

averagePosition = computeAvgPostion (x, y, z);

Méi dáng khæng n¶n qu¡ 80 kþ tü i·u n y £m b£o cho ch÷ìng tr¼nh n¬m trong mët trang m n h¼nh N¸u dáng qu¡ d i câ thº ng­t dáng v  vi»c ng­t dáng ph£i ÷ñc thº hi»n rã r ng:

V½ dö:

totalSum = (a + b +

c + d + e);

void setStudentInfo (String name,

int age);

èi vîi c¥u l»nh i·u ki»n (if-else, while ):

- H¤n ch¸ sû döng i·u ki»n d÷îi d¤ng mët biºu thùc phùc logic t¤p m  n¶n t¡ch th nh c¡c i·u ki»n nhä

- Ph¦n x£y ra th÷íng xuy¶n °t trong khèi if, ph¦n ½t x£y ra hìn °t trong khèi else

- N¶n t¡ch i·u ki»n v  c¥u l»nh thüc hi»n ra th nh hai dáng ri¶ng V½ dö:

if (isDone)

doCleanup();

4 Chó th½ch

Chó th½ch l  r§t quan trång v  c¦n thi¸t khi vi¸t m¢ Câ hai lo¤i chó th½ch

l : // cho chó th½ch tøng dáng l»nh v  /* */ cho chó th½ch mët khèi l»nh Mët sè quy ành èi vîi chó th½ch:

Trang 4

- Méi file ·u ph£i b­t ¦u b¬ng mët khèi chó th½ch mæ t£ sì l÷ñc v· file

â Tr÷îc méi ph÷ìng thùc công n¶n câ mët dáng chó th½ch mæ t£ sì l÷ñc ph÷ìng thùc â Chó th½ch ngo i t¡c döng gi£i th½ch ch÷ìng tr¼nh cán gióp d¹ d ng ph¥n bi»t và tr½ cõa c¡c khèi m¢ l»nh

V½ dö:

//

-// Sort a list of integer numbers

// using buble sort

void bubleSort(int* a){

}

//

-// Sort a list of integer numbers

// using merge sort

void mergeSort(int* a){

}

- Sû döng // º gi£i th½ch ch÷ìng tr¼nh (kº c£ vîi tr÷íng hñp nhi·u dáng) v  /**/ º t¤m bä c¡c o¤n m¢ thøa khi gï rèi

- N¶n vi¸t chó th½ch ngay trong khi lªp tr¼nh º £m b£o khæng qu¶n ngay nhúng þ t÷ðng khi lªp tr¼nh Tr¡nh vi¸t xong m¢ rçi mîi bê xung chó th½ch

- Câ thº chó th½ch trong th¥n ph÷ìng thùc nh÷ng khæng n¶n l¤m döng chó th½ch i·u n y s³ l m cho m¢ ch÷ìng tr¼nh ríi r¤c v  khâ åc Tr÷íng hñp c¦n gi£i th½ch nhi·u n¶n sû döng c¡c t i li»u i k±m b¶n ngo i

T i li»u

[1] Geotechnical Software Services C++ Programming Style Guidelines, 2006

[2] L.W Cannon et.al Recommended C Style and Coding Standards, 1997

Ngày đăng: 25/03/2014, 12:31

TỪ KHÓA LIÊN QUAN

w