1. 사양 소개
이 사양은 주로 델파이 소스 프로그램이 작문 과정에서 따라야하는 규칙과 예방 조치를 규정합니다. 이 사양을 작성하는 목적은 회사 소프트웨어 개발자의 소스 코드 작성 습관을 일관되게 유지하는 것입니다. 따라서 각 그룹 구성원은 소스 코드 메모리 시스템 유지 보수의 보조 개발을 용이하게하기 위해 다른 그룹 구성원의 코드를 이해할 수 있습니다.
2. 단위 형식
2.1 기본 요구 사항
2.1.1 들여 쓰기
들여 쓰기는 소스 프로그램의 수준이 변경 될 때 가독성을 높이기 위해 노출 된 두 공간입니다. 들여 쓰기 규칙은 각 레벨에 대해 두 개의 공간을 들여 보내는 것입니다. 탭은 허용되지 않습니다. 탭은 사용자가 만든 다른 설정으로 인해 다른 효과를 생성하기 때문입니다. 판단, 루프, 예외 처리, 명세서, 레코드 유형 선언, 클래스 선언 등을 시작하거나 판단, 루프, 예외 처리, 기록 유형 선언, 레코드 유형 선언, 클래스 선언 등은 한 수준으로 줄어 듭니다.
2.1.2 시작… 끝
시작 명세서와 종료 명령문은 소스 프로그램에서 한 줄을 차지해야합니다.
i : = 0 ~ 10의 경우 시작 // 잘못된 사용법
끝;
i : = 0 ~ 10의 경우 // 사용량을 올바르게 수행합니다
시작하다
끝;
2.1.3 공간
연산자의 양쪽 끝에 공백을 추가하고 다음과 같은 논리적 판단 기호를 추가하십시오. i : = i + 1;, a 및 b 등.
그러나 괄호를 추가 할 때는 공간이 필요하지 않습니다.
예를 들면 : if (a> b) 및 (a
if (a> b) 및 (a <c) 그런 다음 // 사용법을 수정합니다.
2.1.4 변수
약어를 사용하지 말고 명사를 여러 단어를 사용하십시오
모듈의 모든 글로벌 변수는 'f'로 접두사를해야합니다. 여러 모듈간에 데이터 교환이 필요한 경우 속성을 선언하여 구현해야합니다.
2.2 단위 설명
새 단위 파일을 만들 때는 먼저 다음 형식으로 단위 설명을 사용자 정의하십시오.
{***************************************** ******** *******
저작권? (c)? 2000-2004? ********* 회사 기술 개발 부서
프로젝트 : ---이 장치가 속한 프로젝트
모듈 : ---이 장치가 속한 기능 모듈
다음을 설명하십시오. ---이 장치의 기능
저자 : --- 작성
날짜 : --- 생성 날짜
버전 버전 번호 :
역사 수정 : --- 역사적 영역을 수정합니다
{****************************
번호를 수정하십시오 : --- 번호를 수정하십시오
수정 자 : --- 수정
DateTime : --- 시간을 수정합니다
원인 :- 수정 이유
번호를 수정하십시오 : --- 번호를 수정하십시오
수정 자 : --- 수정
DateTime : --- 시간을 수정합니다
원인 :- 수정 이유
****************************************
***************************************************************************************** 누군가 ******* *****}
2.3 프로세스 및 기능 설명
{***************************************** ******** *******
precedureename/functionName :
입력 : a --- 입력 매개 변수 설명, b --- 입력 매개 변수 설명, c --- 입력 매개 변수 설명
출력 : x --- 출력 매개 변수 설명
const : s --- 상수 설명, t --- 상수 설명
var : x --- 변수 설명, j --- 변수 설명
설명 : ---- 함수 설명
프로세스 나 기능이 장치 제작자가 작성하지 않은 경우 다음 항목을 추가하십시오.
작가:
날짜:
***************************************************************************************** 누군가 ******* *****}
3. 컨트롤 이름 지정
제어 이름은 다음 약어와 함께 사용할 수 있지만 사용 된 약어는 제어 이름 '_'사이에 추가됩니다.
표준 탭
mm tmainmenu
오후 tpopupmenu
mmi tmainmenuitem
pmi tpopupmenuitem
lbl tlabel
Edt Tedit j. tmaskedit;
mem tmemo
btn tbutton;
CB TCHECKBOX
RB Tradiobutton
lb tlistbox
CB Tcombobox
SCB TSCROLLBAR
gb tgroupbox
RG tradiogroup
PNL TPANEL
cl tcommandlist
추가 탭
sg tstringgrid
DG TDRADGRID
IMG 타임 지
shp tshape
bvl tbevel
SBX TSCROLLBOX
clb tchecklistbox
spl tsplitter
stx tstatictext
Cht Tchart
Win32 탭
TBC TTABCONTROL
PGC TPageControl
Il Timagelist
re trichedit
tbr ttrackbar
prb tprogressbar
ud tupdown
HK Thotkey
Ani tanimate
dtp tdateTimepicker
TV ttreeview
lv tlistview
HDR THEADERCONTROL
STB TSTATUSBAR
tlb ttoolbar
clb tcoolbar
시스템 탭
tm ?? ttimer
pb ?? tpaintbox
MP? tmediaplayer
Olec? Tolecontainer
ddcc? tddeclientconv
ddci? tddeclientEtem
DDSC? TDDESERVERCONV
ddsi? tddeserveritem
?
샘플 탭
gg?
cg?
spb?
spe?
dol?
CAL TCALENDAR
ibea? tibea?
?
ActiveX 탭
CFX?
VSP ??
f1b ?? t tt1book
vtc ???? tvchart
grp ??
?
Win31 탭
dbll ?? x tblookuplist
DBLC ??
ts ???? ttabset
OL ???
tnb ??? ttabbednotebook
nb ???? tnotebook
hdr ???
flb?
dlb ??? tdirectorylistbox
DCB ??
fcb ?? wiltercombobox
미다스 탭
prv ??
CDS?
qcds?
dcom?
올리 ??
sck ??
RMS ??
중간? tmidasconnection
인터넷 탭
CSK? tclientSocket
SSK? Tserversocket
wbd? twebdispatcher
pp ??? tpageproducer
tp ??? TQueryTableProducer
DSTP????
nmdt ?? tnmdaytime
NEC ??? TNMECHO
nf ???? tnmfinger
nftp ??? tnmftp
nhttp ?? tnmhttp
nmsg ?? tnmmsg
nmsg ?? tnmmsgserv
nntp ??? tnmnntp
NPOP ??? TNMPOP3
nuup ??? tnmuuprocessor
smtp ??? tnmsmtp
nst ???? tnmstrm
ns ??? tnmstrmserv
ntm ??? tnmtime
nudp ?? tnmudp
psk ??? tpowersock
ngs ??? tnm 장군 서버
html?? thtml
url ?? tnurl
sml ?? tsimplemail
데이터 액세스 탭
DS??
TBL?
QR?
sp?
db ?? tdatabase
SSN???
bm ?? tbatchmove
usql ?? tupdatesql
데이터 제어 탭
DBG????
dbn ?? tdbnavigator
DBT ?? tdbtext
dbe ?? tdbedit
DBM????
dbi ?? tdbimage
dblb ?? tdblistbox
DBCB?? tdbcombobox
DBCH????
dbrg ?? tdbradiogroup
dbll ?? tdblookuplistbox
DBLC ?? TDBLOOKUPCOMBOBOX
dbre ?? tdbrichedit
dbcg ?? tdbctrlgrid
dbch ?? tdbchart
의사 결정 큐브 탭
DCB ?? tdecisionCube
dcq ?? tdecisionQuery
dcs ?? tdecisionsource
dcp ?? tdecisionpivot
dcg ?? tdecisiongrid
dcgr? tdecisionGraph
Qreport 탭
QR ?? tquickReport
qrsd? tqrsubdetail
qrb ?? tqrband
QRCB ?? tqrchildband
qrg ?? tqrgroup
qrl ?? tqrlabel
qrt ?? tqrtext
qre ?? tqreexpr
QRS????
qrm ?? tqrmemo
qrrrt ?? tqrrrichtext
qrdr?????
qrsh ?? tqrshape
qri ??? tqrimage
qrdi ?? tqrdbmimage
qrcr??????
qrp ?? tqrpreview
QRCH TQRCHART
대화 상자 탭
opendialog ????????? Topendialog
savedialog ??????? tsavedialog
OpenPicturedialog? topenpicturedialog
SavePicturedialog ?? tsavepicturedialog
fontdialog ????????? tfontdialog
Colordialog ??????? tcolordialog
printdialog ???????? tprintdialog
Printersetupdialog?
findDialog ?????????? TfindDialog
ReplaceIalog?
4. 수정 요청
4.1 역사 기록을 수정하십시오
소스 파일에 승인 된 수정을 할 때 Modifyer는 프로그램 파일 헤더에 수정 기록 항목을 추가해야합니다. 각 후속 수정에서 Modifyer는 항목의 다음 정보를 작성해야합니다.
수정 자 :
DateTime :
원인:
논평:
4.2 새 코드 라인을 추가하십시오
새 코드 라인은 전후에 주석을 주어야합니다.
// AB 수정 시간;
추가 코드 라인
// ae
4.3 코드 라인을 삭제합니다
코드 라인을 삭제하기 전후에 설명하는 주석 줄을 사용하십시오.
// db 사람, 수정 시간, 수정 지침을 수정합니다.
// 삭제할 코드 줄 (삭제 될 문을 주석)
// de
4.4 코드 라인을 수정하십시오
코드 라인을 수정하여 코드 라인을 삭제하고 새 코드 라인을 추가하십시오.
// MB 사람, 수정 시간, 수정 지침.
// 수정 전에 사전 코드 라인
수정 된 코드 라인
//나
5. 파일 이름 지정
프로젝트 파일은 의미있는 이름을 사용해야합니다. 예를 들어 : Delphi의 시스템 정보에 대한 프로젝트 파일은 Sysinfo.dpr입니다.
3.7.2 양식 파일
양식 이름에 따라 : 예를 들어 : 양식 이름이 frrmmain 인 경우 양식 파일의 이름은 frmmain.dfm입니다. 해당 단위 파일은 frmmain.pas입니다
3.7.3 데이터 모듈 파일
데이터 모듈 파일의 이름 지정은 합리적이며 'DM'을 접두사로 사용해야합니다. 예를 들어, 사용자 데이터 모듈의 이름은 'dmcustomers.dfm'입니다. 해당 단위 파일은 rdmcustomers.pas입니다
3.7.4 원격 데이터 모듈 파일
원격 데이터 모듈 파일 이름은 합리적이며 'rdm'을 접두사로 사용해야합니다. 예를 들어, 사용자 원격 데이터 모듈의 이름은 'rdmcustomers.dfm'입니다. 해당 단위 파일은 rdmcustomers.pas입니다
3.7.5 일반 장치 파일
장치 파일의 이름 지정은 합리적이며 'U'를 접두사로 사용해야합니다. 예를 들어 : 일반 장치의 이름은 'ugeneral.pas'입니다.