• Nenhum resultado encontrado

Các quy tắc đặt tên trong lập trình

N/A
N/A
Protected

Academic year: 2021

Share "Các quy tắc đặt tên trong lập trình"

Copied!
10
0
0

Texto

(1)

Đây là một ghi chú nhỏ của mình khi mình học về lập trình. Bài viết này nói về các quy tắc đặt tên thường được dùng trên thế giới. Công việc đặt tên cho biến, hàm, lớp, cấu trúc, … trong lập trình là công việc thường ngày và ít được chúng ta để ý. Tuy nhiên có một vấn đề quan trọng là: “sẽ như thế nào khi ta làm việc nhóm.”.

Có bao giờ bạn lên mạng down về một source code và tham khảo chưa. Nếu đã từng thì chắc hẳn bạn sẽ biết sẽ khó như thế nào khi phải đặt mình vào cách viết code của người khác. Mỗi người có thói quen và sở thích riêng nên việc viết code dựa theo sở thích sẽ tạo nên rào cản cho việc làm nhóm. Như vậy, hôm nay, mình viết ghi chú này, đầu tiên là để ghi lại cho bản thân, kế tiếp là giúp cho các bạn – đặc biệt là các newbie các rockie mới biết đến lập trình – biết hiểu và tập một thói quen tốt.Tất nhiên là nội dung bài viết này không dài, cũng không mấy quan trọng nếu như bạn không quan tâm. Tuy nhiên mình vẫn hi vọng đóng góp được điều gì đó khi các bạn đọc các bài viết trong blog của mình.

I. Sau đây là quy tắc đặt tên trong lập trình:

1. Pascal Case (còn được gọi là Upper Camel Case): quy tắc này yêu cầu viết hoa các chữ cái đầu tiên của mọi từ

Vd:

T hisIsPascalCase

2. Camel Case (còn được gọi là Lower Camel Case): quy tắc này hơi đặt biệt một tí. Chữ cái đầu tiên của từ đầu tiên viết thường. Các từ còn lại viết hoa chữ cái đầu tiên.

Vd:

t hisIsCamelCase

II. Pascal và Camel Case được sử dụng lúc nào?

* Class, Struct : Pascal Case (Upper Camel Case) 1 class SinhVien

2 {

3 ...

4 };

* Function, Method : Camel Case (Lower Camel Case) 1 int lamBaiTap()

2 {

3 ...

4 }

* Variable : Camel Case (Lower Camel Case)

1 int hocPhi = 1400000; //1.400.000 vnđ : khiếp quá * Constant : viết in hoa mọi ký tự và giữa các từ dùng dấu “_” (dấu gạch chân) 1 #define MY_MAX 100

2 ...

3 const int MY_MIN = 10;

III. Định nghĩa Hungary (một số tài liệu gọi là định danh Hungary)

Đây là một quy tắc nữa được dùng dùng để đặt tên cho biến. Quy tắc này có thể di kèm với Camel Case (Lower Camel Case). Mục tiêu của quy tắc này giúp tăng khả năng nhận biết kiểu dữ liệu của biến bằng cách gắn vào trước mỗi biến một số ký tự mô tả kiểu dữ liệu của chúng.

Vd:

int iTuSo; //bạn có thể thấy ký tự “i” là đại diện cho int Sau đây là các ký tự thường gặp

c : char, WCHAR, TCHAR by : byte n : short interger i : int l : long f: float, flag x, y, z : các biến tọa độ trục b : bool, boolean

(2)

w : WORD, unsigned short dw : DWORD, unsigned long s : string

sz : string terminated by zero h : handle

p : pointer

Ngoài những ký tự trên thì còn những ký tự khác nữa mà bạn sẽ gặp. Tuy nhiên bấy nhiêu trên kia đã dư rồi. Ví dụ như kiểu WORD hay DWORD là những kiểu dữ liệu mà bạn sẽ chẳng bao giờ gặp nếu như bạn không bao giờ đụng đến lập trình “C for Windows” (hay còn gọi là lập trình Win32 API). Bạn nên lưu ý là nó khác với lập trình Windows nha.

IV. Những cách ngoài luồng mà mình giới thiệu không phải là chuẩn mà là một thói quen được người ta hay sử dụng. Không biết đúng không nên các bạn nào biết thì chỉ nhá.

m_ : người ta thường thêm ký tự này vào trước tên biến thành viên (thuộc tính) của lớp để phân biệt với biến thường.

1 class ABC

2 {

3 protected:

4 int m_iNumber; //"m" là viết rút gọn của member 5 float m_fNumber;

6 };

fn : đây là viết tắt của function. Bạn có để ý là khi viết tên hàm theo Lower Camel Case thì trông nó có vẻ gì đó không xứng vì chữ cái đầu bị “teo” lại. Do vậy mà theo mình, người ta hay viết thêm fn vào vừa để chỉ rõ đây là hàm và vừa để tên hàm luôn được viết hoa chữ cái đầu tiên.

VD: int fnTenHam( )

Ngoài ra còn nhiều quy tắc khác nữa tạo nên điểm nhấn cho đoạn code của bạn mà không ảnh hưởng đến cấu trúc chung nên bạn cứ an tâm sáng tạo nha.

V.Còn đây là quy ước đặt tên trong visual basic của microsoft

Cung cấp cho bạn các quy ước đặt tên được sử dụng bởi Microsoft tư vấn dịch vụ (MCS).

Tài liệu này là một superset của các mã hóa công ước Visual Basic được tìm thấy trong Visual Basic "Programmer's Guide."

Đối tượng công ước đặt tên cho các đối tượng tiêu chuẩn

Bảng dưới đây xác định các tiền tố MCS tên đối tượng tiêu chuẩn. Những tiền tố là phù hợp với những tài liệu trong Visual Basic lập trình hướng dẫn.

Prefix Object Type Example --- ani Animation button aniMailBox bed Pen Bedit bedFirstName cbo Combo box and drop down list box cboEnglish chk Checkbox chkReadOnly clp Picture clip clpToolbar cmd (3d) Command button (3D) cmdOk (cmd3dOk) com Communications comFax

ctr Control (when specific type unknown) ctrCurrent dat Data control datBiblio dir Directory list box dirSource dlg Common dialog control dlgFileOpen drv Drive list box drvTarget fil File list box filSource frm Form frmEntry

fra (3d) Frame (3d) fraStyle (fra3dStyle) gau Gauge gauStatus

(3)

gra Graph graRevenue grd Grid grdPrices hed Pen Hedit hedSignature hsb Horizontal scroll bar hsbVolume img Image imgIcon ink Pen Ink inkMap key Keyboard key status keyCaps

lbl Label lblHelpMessage lin Line linVertical lst List box lstPolicyCodes mdi MDI child form mdiNote

mpm MAPI message mpmSentMessage mps MAPI session mpsSession mci MCI mciVideo mnu Menu mnuFileOpen

opt (3d) Option Button (3d) optRed (opt3dRed) ole OLE control oleWorksheet out Outline control outOrgChart pic Picture picVGA pnl3d 3d Panel pnl3d

rpt Report control rptQtr1Earnings shp Shape controls shpCircle

spn Spin control spnPages txt Text Box txtLastName tmr Timer tmrAlarm vsb Vertical scroll bar vsbRate

Đối tượng quy ước đặt tên cho các đối tượng cơ sở dữ liệu

Prefix Object Type Example --- db ODBC Database dbAccounts ds ODBC Dynaset object dsSalesByRegion fdc Field collection fdcCustomer fd Field object fdAddress ix Index object ixAge ixc Index collection ixcNewAge

qd QueryDef object qdSalesByRegion qry (suffix) Query (see NOTE) SalesByRegionQry ss Snapshot object ssForecast

tb Table object tbCustomer td TableDef object tdCustomers

Lưu Ý: Bằng cách sử dụng một hậu tố cho các truy vấn cho phép mỗi truy vấn để được sắp xếp với bảng liên kết trong hộp thoại Microsoft Access (thêm bảng, danh sách các bảng ảnh chụp). Quy ước đặt tên đơn

Các ứng dụng thường xuyên sử dụng một sự phong phú của điều khiển menu.Kết quả là, bạn cần một bộ khác nhau của công ước đặt tên cho các điều khiển. Tiền tố đơn kiểm soát nên được mở rộng vượt ra ngoài nhãn hiệu đầu tiên mnu bằng cách thêm một tiền tố bổ sung cho mỗi cấp độ làm tổ, với các chú thích cuối cùng trình đơn ở phần cuối của chuỗi tên. Ví dụ:

Menu Caption Sequence Menu Handler Name Help.Contents mnuHelpContents File.Open mnuFileOpen

(4)

Format.Character mnuFormatCharacter File.Send.Fax mnuFileSendFax File.Send.Email mnuFileSendEmail

Khi công ước này được sử dụng, tất cả thành viên của một nhóm cụ thể đơn được liệt kê bên cạnh mỗi khác trong đối tượng danh sách thả xuống hộp (trong mã cửa sổ và cửa sổ bất động sản). Ngoài ra, tên điều khiển menu rõ ràng tài liệu các mục trình đơn mà họ được kết nối vào.

Quy ước đặt tên cho các điều khiển khác

Cho mới điều khiển không được liệt kê ở trên, hãy thử để đi lên với một tiền tố ba nhân vật duy nhất. Tuy nhiên, nó là quan trọng để rõ ràng hơn để dính vào ba ký tự.

Đối với điều khiển bắt nguồn từ, chẳng hạn như một hộp danh sách nâng cao, mở rộng các tiền tố bên trên vì vậy mà có là không có sự nhầm lẫn hơn kiểm soát mà thực sự được sử dụng. Một tên viết tắt thấp hơn trường hợp cho các nhà sản xuất cũng thường sẽ được thêm vào tiền tố. Ví dụ, một ví dụ kiểm soát tạo ra từ các chuyên Visual Basic 3D khung có thể sử dụng một tiền tố của fra3d để tránh nhầm lẫn mà điều khiển đang thực sự được sử dụng. Một nút lệnh từ MicroHelp có thể sử dụng cmdm để phân biệt nó từ nút chuẩn lệnh (cmd).

Điều khiển bên thứ ba

Mỗi điều khiển bên thứ ba được sử dụng trong một ứng dụng nên được liệt kê trong các ứng dụng tổng quan phần bình luận, cung cấp tiền tố được dùng cho việc kiểm soát, tên đầy đủ của các điều khiển, và tên của các nhà cung cấp phần mềm:

Prefix Control Type Vendor cmdm Command Button MicroHelp

Thay đổi và thói quen đặt tên

Tên biến và chức năng có cấu trúc sau: <prefix> <body> <qualifier> <suffix>

Part Description Example

--- <prefix> Describes the use and scope of the variable. iGetRecordNext <body> Describes the variable. iGetNameFirst <qualifier> Denotes a derivative of the variable. iGetNameLast <suffix> The optional Visual Basic type character. iGetRecordNext%

Tiền tố:

Bảng dưới đây xác định biến và chức năng tên tố dựa trên ký hiệu Hungary C cho Windows. Tiền tố này nên được sử dụng với tất cả các biến và hàm tên.Sử dụng các hậu tố cơ bản cũ (chẳng hạn như %, &, #, vv) không được khuyến khích.

Thay đổi và chức năng tên tiền tố:

Prefix Converged Variable Use Data Type Suffix

--- b bln Boolean Integer %

c cur Currency - 64 bits Currency @ d dbl Double - 64 bit Double # signed quantity

dt dat Date and Time Variant e err Error f sng Float/Single - 32 Single ! bit signed floating point h Handle Integer % i Index Integer % l lng Long - 32 bit Long & signed quantity

(5)

s str String String $ u Unsigned - 16 bit Long & unsigned quantity

udt User-defined type

vnt vnt Variant Variant a Array

Lưu Ý: các giá trị trong cột Converged đại diện cho những nỗ lực để kéo nhau tiêu chuẩn đặt tên cho Visual Basic, Visual Basic cho các ứng dụng, và truy cập cơ bản. Nó có khả năng rằng các tiền tố sẽ trở thành tiêu chuẩn của Microsoft tại một số điểm trong tương lai gần.

Phạm vi và sử dụng tiền tố:

Prefix Description g Global

m Local to module or form st Static variable

(no prefix) Non-static variable, prefix local to procedure v Variable passed by value (local to a routine) r Variable passed by reference (local to a routine)

Ký hiệu Hungary là như có giá trị trong Visual Basic là trong C. Mặc dù hậu tố loại Visual Basic chỉ ra một biến loại dữ liệu, họ không giải thích những gì một biến hoặc chức năng được sử dụng cho, hoặc làm thế nào nó có thể được truy cập. Dưới đây là một số ví dụ:

iSend - đại diện cho một số của số lượng thư được gửi

bSend - A Boolean cờ xác định sự thành công của chiến dịch gửi qua hSend - A xử lý giao diện Comm

Mỗi người trong số các tên biến cho biết một lập trình viên một cái gì đó rất khác nhau. Thông tin này sẽ bị mất khi tên biến giảm đến gửi %. Tiền tố phạm vi như g và m cũng giúp làm giảm vấn đề ganh đua tên đặc biệt là trong các dự án multi-developer.

Ký hiệu Hungary cũng được sử dụng bởi Windows C lập trình viên và không ngừng tham khảo tài liệu sản phẩm Microsoft và trong ngành công nghiệp lập trình sách. Ngoài ra, liên kết giữa lập trình c và lập trình viên sử dụng Visual Basic sẽ trở nên mạnh hơn nhiều như Visual C ++ phát triển hệ thống tăng động lượng. Chuyển đổi này sẽ gây ra nhiều Visual Basic lập trình di chuyển đến c cho lần đầu tiên và nhiều lập trình di chuyển thường xuyên trở lại và ra từ cả hai môi trường.

Cơ thể của biến và thói quen tên

Cơ thể của một biến hoặc thói quen tên nên sử dụng hỗn hợp trường hợp và cần miễn là cần thiết để mô tả mục đích của nó. Ngoài ra, chức năng tên nên bắt đầu với một động từ, ví dụ như

InitNameArray hoặc CloseDialog.

Đối với các thuật ngữ thường được sử dụng hay dài, chuẩn chữ viết tắt được khuyến khích để giữ cho độ dài tên hợp lý. Nói chung, tên biến lớn hơn 32 ký tự có thể được khó khăn để đọc trên màn hình VGA.

Khi sử dụng chữ viết tắt, hãy chắc chắn rằng họ là nhất quán trong suốt toàn bộ ứng dụng. Ngẫu nhiên chuyển đổi giữa Cnt và số trong một dự án sẽ dẫn đến sự nhầm lẫn không cần thiết. Vòng loại biến và thói quen tên

Các biến có liên quan và thói quen thường được sử dụng để quản lý và thao tác một đối tượng phổ biến. Trong những trường hợp này, sử dụng tiêu chuẩn vòng loại nhãn bắt nguồn từ biến và thói quen. Mặc dù đặt trong vòng loại sau khi cơ quan tên có vẻ một chút khó khăn (như trong sGetNameFirst, sGetNameLast thay vì sGetFirstName, sGetLastName), thực hành này sẽ giúp để danh sách các tên với nhau trong những biên tập viên Visual Basic thói quen, làm cho logic và cấu trúc của các ứng dụng dễ dàng hơn để hiểu. Bảng sau đây xác định vòng loại phổ biến và ý nghĩa tiêu chuẩn của họ:

Qualifier Description (follows Body)

--- First First element of a set.

(6)

Last Last element of a set. Next Next element in a set. Prev Previous element in a set. Cur Current element in a set. Min Minimum value in a set. Max Maximum value in a set.

Save Used to preserve another variable that must be reset later. Tmp A "scratch" variable whose scope is highly localized within the code. The value of a Tmp variable is usually only valid across a set of contiguous statements within a single procedure. Src Source. Frequently used in comparison and transfer routines. Dst Destination. Often used in conjunction with Source.

Người dùng xác định loại

Tuyên bố loại người dùng định nghĩa trong tất cả các mũ với _TYPE nối thêm vào cuối tên biểu tượng. Ví dụ: Type CUSTOMER_TYPE sName As String sState As String * 2 lID as Long End Type

Khi khai báo một biến thể hiện của một người dùng xác định loại, thêm một tiền tố cho tên biến để tham khảo các loại. Ví dụ:

Dim custNew as CUSTOMER_TYPE

Đặt tên hằng

Cơ thể không đổi tên nên UPPER_CASE với underscores (_) giữa các từ. Mặc dù hằng số Visual Basic tiêu chuẩn bao gồm thông tin Hungary, tiền tố như tôi, s, g, và m có thể rất hữu ích trong sự hiểu biết giá trị và phạm vi của một hằng số. Tên liên tục, thực hiện theo các quy tắc tương tự như các biến. Ví dụ:

<mnUSER_LIST_MAX ' Max entry limit for User list (integer value, ' local to module)

gsNEW_LINE ' New Line character string (global to entire ' application)

Biến thể loại dữ liệu

Có nếu bạn biết rằng một biến sẽ luôn luôn lưu trữ dữ liệu của một loại hình cụ thể, Visual Basic thể xử lý dữ liệu đó hiệu quả hơn nếu bạn khai báo một biến loại.

Tuy nhiên, kiểu biến thể dữ liệu có thể cực kỳ hữu ích khi làm việc với cơ sở dữ liệu, tin nhắn, DDE hoặc OLE. Nhiều cơ sở dữ liệu cho phép NULL như một giá trị hợp lệ cho một lĩnh vực. Mã của bạn cần phải phân biệt giữa NULL, 0 (zero), và "" (chuỗi rỗng). Nhiều lần, các loại hoạt động kinh doanh có thể sử dụng một thói quen chung loại dịch vụ mà không cần phải biết loại dữ liệu nhận được để xử lý hoặc đậu trên dữ liệu. Ví dụ:

Sub ConvertNulls(rvntOrg As Variant, rvntSub As Variant) ' If rvntOrg = Null, replace the Null with rvntSub If IsNull(rvntOrg) Then rvntOrg = rvntSub

End Sub

Là có một số nhược điểm, tuy nhiên, để sử dụng các biến thể. Báo cáo mã sử dụng phiên bản đôi khi có thể mơ hồ để các lập trình viên. Ví dụ:

vnt1 = "10.01" : vnt2 = 11 : vnt3 = "11" : vnt4 = "x4"

(7)

vntResult = vnt2 + vnt1 ' Does vntResult = 21.01 or 1110.01? vntResult = vnt1 + vnt3 ' Does vntResult = 21.01 or 10.0111? vntResult = vnt3 + vnt1 ' Does vntResult = 21.01 or 1110.01? vntResult = vnt2 + vnt4 ' Does vntResult = 11x4 or ERROR? vntResult = vnt3 + vnt4 ' Does vntResult = 11x4 or ERROR?

Các ví dụ ở trên sẽ ít hơn nhiều mơ hồ và dễ dàng hơn để đọc, gỡ lỗi, và duy trì nếu thói quen chuyển đổi loại Visual Basic đã được sử dụng để thay thế. Ví dụ:

iVar1 = 5 + val(sVar2) ' use this (explicit conversion) vntVar1 = 5 + vntVar2 ' not this (implicit conversion)

Cho ý kiến của bạn mã

Tất cả các thủ tục và chức năng nên bắt đầu với một thảo luận ngắn gọn mô tả các đặc tính chức năng của những thói quen (những gì nó làm). Mô tả này nên không mô tả chi tiết thực hiện (làm thế nào nó để nó) bởi vì thường những xuyên thay đổi theo thời gian, kết quả công việc bảo trì bình luận không cần thiết, hoặc tệ hơn chưa, sai ý kiến. Mã chính nó và bất kỳ ý kiến cần thiết trong đường dây hoặc địa phương sẽ mô tả việc thực hiện.

Tham số truyền cho một thói quen nên được mô tả khi chức năng của họ không phải là rõ ràng và khi những thói quen dự kiến các tham số để trong một phạm vi cụ thể. Chức năng trả về giá trị và biến toàn cầu được thay đổi bởi những thói quen (đặc biệt là thông qua các tham số tham khảo) cũng phải được mô tả ở đầu của mỗi thói quen.

Bình luận tiêu đề thường lệ khối nên trông như thế này (xem phần tiếp theo "Định dạng của bạn mã" ví dụ):

Section Comment Description

--- Purpose What the routine does (not how).

Inputs Each non-obvious parameter on a separate line with in-line comments

Assumes List of each non-obvious external variable, control, open file, and so on.

Returns Explanation of value returned for functions.

Effects List of each effected external variable, control, file, and so on and the affect it has (only if this is not obvious)

Mỗi khai báo biến không nhỏ nên bao gồm một bình luận trong dòng mô tả việc sử dụng các biến được tuyên bố.

Biến, điều khiển, và thói quen nên được đặt tên rõ ràng đủ rằng trong dòng cho ý kiến là chỉ cần thiết cho chi tiết phức tạp hoặc không trực quan thực hiện.

Một tổng quan về các ứng dụng, liệt kê các đối tượng dữ liệu chính, thói quen, thuật toán, hộp thoại, cơ sở dữ liệu và tập tin hệ thống phụ thuộc, và như vậy nên được bao gồm ở đầu các.BAS mô-đun có chứa các dự án Visual Basic chung liên tục khai báo.

Lưu Ý: Cửa sổ dự án vốn đã mô tả danh sách các tập tin vào một dự án, do đó phần tổng quan này chỉ cần cung cấp thông tin về các tập tin quan trọng nhất và mô-đun, hoặc các tập tin, cửa sổ dự án không danh sách, chẳng hạn như khởi tạo (.INI) hoặc cơ sở dữ liệu tập tin.

Định dạng mã của bạn

Bởi vì rất nhiều lập trình viên vẫn còn sử dụng VGA màn hình, màn hình bất động sản phải được conserved càng nhiều càng tốt, trong khi vẫn cho phép mã định dạng, để phản ánh cấu trúc logic và làm tổ.

Tiêu chuẩn, tab-based, khối làm tổ lõm nên dấu cách 2-4. Hơn bốn không gian là không cần thiết và có thể gây ra phát biểu sẽ được ẩn hoặc vô tình cắt ngắn. Ít hơn hai không gian không đủ hiện logic làm tổ. Trong Microsoft Knowledge Base, chúng tôi sử dụng một không gian ba thụt lề. Sử dụng hộp thoại tùy chọn môi trường để đặt chiều rộng tab mặc định.

(8)

khoản cấp cao nhất mà theo những nhận xét tổng quan nên thụt vào một tab, với mỗi lồng nhau khối thụt vào một tab bổ sung.Ví dụ:

************************************************************************** 'Purpose: Locate first occurrence of a specified user in UserList array. 'Inputs: rasUserList(): the list of users to be searched

' rsTargetUser: the name of the user to search for 'Returns: the index of the first occurrence of the rsTargetUser

' in the rasUserList array. If target user not found, return -1. '**************************************************************************

'VB3Line: Enter the following lines as one line

Function iFindUser (rasUserList() As String, rsTargetUser as String) _ As Integer

Dim i As Integer ' loop counter Dim bFound As Integer ' target found flag iFindUser = -1

i = 0

While i <= Ubound(rasUserList) and Not bFound If rasUserList(i) = rsTargetUser Then bFound = True iFindUser = i End If Wend End Function

Biến và hằng số phi-chung nên được nhóm lại theo chức năng chứ không phải bởi đang được tách ra thành các khu vực bị cô lập hoặc tập tin đặc biệt.Visual Basic hằng số chung chung như HOURGLASS nên được nhóm lại trong một mô-đun đơn (VB_STD.BAS) để giữ cho họ tách biệt khai báo ứng dụng cụ thể.

Các nước sử dụng

Luôn luôn sử dụng một dấu "và" (&) khi concatenating chuỗi, và sử dụng dấu cộng (+) khi làm việc với các giá trị số. Bằng cách sử dụng một dấu cộng (+) với phi-số values, có thể gây ra vấn đề khi hoạt động trên hai phiên bản. Ví dụ:

vntVar1 = "10.01" vntVar2 = 11

vntResult = vntVar1 + vntVar2 ' vntResult = 21.01 vntResult = vntVar1 & vntVar2 ' vntResult = 10.0111

Phạm vi

Biến nên luôn luôn được xác định với phạm vi nhỏ nhất có thể. Biến toàn cầu có thể tạo ra rất nhiều phức tạp nhà nước máy và làm cho logic của một ứng dụng rất khó hiểu. Biến toàn cầu cũng làm cho tái sử dụng và bảo trì mã của bạn khó khăn hơn. Biến trong Visual Basic có thể có lĩnh vực sau đây: Scope Variable Declared In: Visibility

--- Procedure-level Event procedure, sub, or Visible in the

function procedure in which it is declared Form-level, Declarations section of a form Visible in every Module-level or code module (.FRM, .BAS) procedure in the form or code module

Global Declarations section of a code Always visible module (.BAS, using Global

(9)

keyword)

Trong một ứng dụng Visual Basic, chỉ sử dụng các biến toàn cầu, khi không có cách nào thuận tiện khác để chia sẻ dữ liệu giữa các hình thức. Bạn có thể muốn xem xét việc lưu trữ thông tin trong một kiểm soát thẻ tài sản, có thể truy cập trên toàn cầu bằng cách sử dụng cú pháp

form.object.property.

Nếu bạn phải sử dụng các biến toàn cầu, đó là thực hành tốt để tuyên bố tất cả chúng trong một mô-đun duy nhất và nhóm chúng theo chức năng. Cung cấp cho các mô-mô-đun một tên có ý nghĩa cho biết mục đích của nó, chẳng hạn như toàn cầu.BAS.

Ngoại trừ các biến toàn cầu (mà không nên được thông qua), thủ tục và chức năng nên chỉ hoạt động trên các đối tượng được truyền cho họ. Biến toàn cầu được sử dụng trong thói quen nên được xác định trong khu vực thảo luận chung tại đầu của những thói quen. Ngoài ra, vượt qua đối số để dự bị và chức năng sử dụng ByVal, trừ khi bạn rõ ràng muốn thay đổi giá trị của các đối số thông qua. Viết mô-đun mã bất cứ khi nào có thể. Ví dụ, nếu ứng dụng của bạn sẽ hiển thị một hộp thoại, đặt tất cả các điều khiển và mã yêu cầu để thực hiện nhiệm vụ của hộp thoại trong một hình thức duy nhất. Điều này giúp giữ cho các ứng dụng mã tổ chức thành các thành phần hữu ích và giảm thiểu chi phí thời gian chạy của nó.

Điều khiển bên thứ ba

Lưu Ý: Sản phẩm thảo luận dưới đây được sản xuất bởi nhà cung cấp độc lập của Microsoft. Microsoft đưa ra không có bảo hành, ngụ ý hay cách khác, liên quan đến các sản phẩm hiệu suất hoặc độ tin cậy.

Bảng dưới đây liệt kê tiêu chuẩn đại lý của bên thứ ba tên nhân vật tiền tố được sử dụng với kiểm soát tiền tố: Vendor Abbv --- MicroHelp (VBTools) m Pioneer Software p Crescent Software c Sheridan Software s Other (Misc) o

Bảng dưới đây liệt kê tiêu chuẩn cấp kiểm soát tiền tố:

Control Control Abbr Vendor Example VBX File Type Name Name

--- Alarm Alarm almm MicroHelp almmAlarm MHTI200.VBX Animate Animate anim MicroHelp animAnimate MHTI200.VBX Callback Callback calm MicroHelp calmCallback MHAD200.VBX Combo Box DB_Combo cbop Pioneer cbopComboBox QEVBDBF.VBX Combo Box SSCombo cbos Sheridan cbosComboBox SS3D2.VBX Check Box DB_Check chkp Pioneer chkpCheckBox QEVBDBF.VBX Chart Chart chtm MicroHelp chtmChart MHGR200.VBX Clock Clock clkm MicroHelp clkmClock MHTI200.VBX Button Command cmdm MicroHelp cmdmCommandButton MHEN200.VBX Button

Button DB_Command cmdp Pioneer cmdpCommandButton QEVBDBF.VBX Button (Group) Command cmgm MicroHelp cmgmBtton MHGR200.VBX Button

(multiple)

Button Command cmim MicroHelp cmimCommandButton MHEN200.VBX Button

(icon)

(10)

Dice Dice dicm MicroHelp dicmDice MHGR200.VBX List Box (Dir) SSDir dirs Sheridan dirsDirList SS3D2.VBX List Box (Drv) SSDrive drvs Sheridan drvsDriveList SS3D2.VBX List Box (File) File List film MicroHelp filmFileList MHEN200.VBX List Box (File) SSFile fils Sheridan filsFileList SS3D2.VBX Flip Flip flpm MicroHelp flpmButton MHEN200.VBX Scroll Bar Form Scroll fsrm MicroHelp fsrmFormScroll ???

Gauge Gauge gagm MicroHelp gagmGauge MHGR200.VBX Graph Graph gpho Other gphoGraph XYGRAPH.VBX Grid Q_Grid grdp Pioneer grdpGrid QEVBDBF.VBX Scroll Bar Horizontal hsbm MicroHelp hsbmScroll MHEN200.VBX Scroll Bar

Scroll Bar DB_HScroll hsbp Pioneer hsbpScroll QEVBDBF.VBX Graph Histo hstm MicroHelp hstmHistograph MHGR200.VBX Invisible Invisible invm MicroHelp invmInvisible MHGR200.VBX List Box Icon Tag itgm MicroHelp itgmListBox MHAD200.VBX Key State Key State kstm MicroHelp kstmKeyState MHTI200.VBX Label Label (3d) lblm MicroHelp lblmLabel MHEN200.VBX Line Line linm MicroHelp linmLine MHGR200.VBX List Box DB_List lstp Pioneer lstpListBox QEVBDBF.VBX List Box SSList lsts Sheridan lstsListBox SS3D2.VBX MDI Child MDI Control mdcm MicroHelp mdcmMDIChild ???

Menu SSMenu mnus Sheridan mnusMenu SS3D3.VBX Marque Marque mrqm MicroHelp mrqmMarque MHTI200.VB Picture OddPic odpm MicroHelp odpmPicture MHGR200.VBX Picture Picture picm MicroHelp picmPicture MHGR200.VBX Picture DB_Picture picp Pioneer picpPicture QEVBDBF.VBX Property Vwr Property pvrm MicroHelp pvrmPropertyViewer MHPR200.VBX Viewer

Option (Group) DB_RadioGroup radp Pioneer radqRadioGroup QEVBDBF.VBX Slider Slider sldm MicroHelp sldmSlider MHGR200.VBX Button (Spin) Spinner spnm MicroHelp spnmSpinner MHEN200.VBX Spreadsheet Spreadsheet sprm MicroHelp sprmSpreadsheet MHAD200.VBX Picture Stretcher strm MicroHelp strmStretcher MHAD200.VBX Screen Saver Screen Saver svrm MicroHelp svrmSaver MHTI200.VBX Switcher Switcher swtm MicroHelp swtmSwitcher ???

List Box Tag tagm MicroHelp tagmListBox MHEN200.VBX Timer Timer tmrm MicroHelp tmrmTimer MHTI200.VBX ToolBar ToolBar tolm MicroHelp tolmToolBar MHAD200.VBX List Box Tree trem MicroHelp tremTree MHEN200.VBX Input Box Input (Text) txtm MicroHelp inpmText MHEN200.VBX Input Box DB_Text txtp Pioneer txtpText QEVBDBF.VBX Scroll Bar Vertical vsbm MicroHelp vsbmScroll MHEN200.VBX Scroll Bar

Scroll Bar DB_VScroll vsbp Pioneer vsbpScroll QEVBDBF.VBX

VI. Lời cuối

Bạn có thấy là Pascal được gọi là Upper Camel Case, còn Camel Case được gọi là Lower Camel Case. Mình nghĩ là các bạn sẽ thắc mắc. Hiện trên thế giới vẫn còn rất nhiều tranh luận về vụ này. Tuy nhiên dù cái tên được tranh luôn nhưng việc áp dụng nó thì được mọi người công nhận và không bàn cãi. Và điều quan trọng là khi làm việc ở các công ty nào thì phải tuân theo quy tắc của công ty đó. Nguồn :microsoft.com,kscode.wordpress.com

Referências

Documentos relacionados

No caso das revistas pedagógicas, o cuidado com o título deve ser um pouco maior. As revistas apresentam ano de publicação, número, volume e ano de circulação.

Rua 25 de Abril , Antigo Barracão(junto ao parque Infantil) Vale de Chicharos, Fogueteiro - Amora. 2845 - 166

Após a divulgação dos resultados da primeira fase de seleção, os candidatos têm um prazo de 10 dias úteis, após a divulgação, para se pronunciarem, querendo, em sede de

Municipal de Cinfães, determina, nos termos e para efeitos do disposto no nº 5 do artigo 61º do Código dos Contratos Públicos, e de acordo com a informação do Júri do

O álbum Eduardo Aires Obra Gráfica (Maio de 2005, com tiragem também em inglês) ilustra o longo trabalho feito até então, com a gradual flexão para o design corporativo e

Para Mar- tinelli e Almeida (1997 apud MILLS), as 07 etapas de uma negociação são: preparar-se, explorar as necessidades, sinalizar a movimentação, testar propostas, trocar

O setor calçadista está em expansão no Brasil, principalmente no que se refere a sua importação, o que leva as empresas a investirem em tecnologias diferenciadas para apresentar um

delegados adotados nos termos do presente artigo o procedimento previsto no artigo 25.º-B.».. Não obstante o disposto no artigo 21.º, no período compreendido entre 1 de março de