1. Pengantar spesifikasi
Spesifikasi ini terutama menetapkan aturan dan tindakan pencegahan yang harus diikuti oleh program sumber Delphi selama proses penulisan. Tujuan penulisan spesifikasi ini adalah untuk menjaga kebiasaan menulis kode sumber dari pengembang perangkat lunak perusahaan konsisten. Melakukan hal itu bahwa setiap anggota grup dapat memahami kode anggota grup lain, sehingga dapat memfasilitasi pengembangan sekunder pemeliharaan sistem memori kode sumber.
2. Format unit
2.1 Persyaratan Dasar
2.1.1 Indentasi
Indentasi adalah dua ruang yang terpapar untuk meningkatkan keterbacaan ketika tingkat program sumber berubah. Aturan lekukan adalah untuk menekuk dua ruang untuk setiap level. Tab tidak diperbolehkan. Karena Tab akan menghasilkan efek yang berbeda karena pengaturan yang berbeda yang dibuat oleh pengguna. Saat Anda bertemu atau masuk penilaian, loop, penanganan pengecualian, dengan pernyataan, deklarasi jenis catatan, deklarasi kelas, dll., Tambahkan satu tingkat. Deklarasi kelas, dll. Akan dikurangi oleh satu tingkat.
2.1.2 Mulai… Akhir
Pernyataan awal dan pernyataan akhir harus menempati satu baris dalam program sumber, misalnya:
untuk i: = 0 hingga 10 lakukan mulai // penggunaan yang salah
akhir;
untuk i: = 0 hingga 10 lakukan // penggunaan yang benar
Mulai
akhir;
2.1.3 Ruang
Tambahkan spasi di kedua ujung operator dan simbol penilaian logis, seperti: i: = i + 1;, a dan b, dll.
Tetapi tidak ada ruang yang dibutuhkan saat menambahkan kurung.
Misalnya: if (a> b) dan (a
if (a> b) dan (a <c) lalu // benar penggunaan
2.1.4 Variabel
Cobalah untuk tidak menggunakan singkatan, cobalah untuk menggunakan kata benda.
Semua variabel global dalam modul harus diawali dengan 'F'. Jika pertukaran data diperlukan antara beberapa modul, perlu diterapkan dengan mendeklarasikan atribut.
2.2 Deskripsi Unit
Saat membuat file unit baru, silakan sesuaikan terlebih dahulu deskripsi unit dalam format berikut.
{*********************************************** ******** *******
Hak Cipta? (C)? 2000-2004? ********* Departemen Pengembangan Teknis Perusahaan
Proyek: --- Proyek yang menjadi milik unit ini
Modul: --- Modul fungsional yang menjadi milik unit ini
Jelaskan: --- fungsi unit ini
Penulis: --- Buat
Tanggal: --- Tanggal Pembuatan
Nomor Versi Versi:
Modifikasi Sejarah: --- Modifikasi Area Sejarah
{******************************
Ubah No: --- Ubah Nomor
Pengubah: --- Modifikasi
Datetime: --- Ubah Waktu
Penyebab: --- Alasan modifikasi
Ubah No: --- Ubah Nomor
Pengubah: --- Modifikasi
Datetime: --- Ubah Waktu
Penyebab: --- Alasan modifikasi
**************************************
********************************************** ******* *****}
2.3 Deskripsi proses dan fungsi
{*********************************************** ******** *******
Predureename/FunctionName:
Input: A --- Deskripsi Parameter Input, B --- Deskripsi Parameter Input, C --- Deskripsi Parameter Input
Output: x --- Deskripsi Parameter Output
Const: S --- Deskripsi Konstan, T --- Deskripsi Konstan
Var: x --- Deskripsi Variabel, J --- Deskripsi Variabel
Jelaskan: ---- Deskripsi Fungsi
Jika proses atau fungsinya tidak ditulis oleh pencipta unit, silakan tambahkan item berikut nanti:
Pengarang:
Tanggal:
********************************************** ******* *****}
3. Penamaan kontrol
Nama kontrol dapat digunakan dengan singkatan berikut, tetapi singkatan yang digunakan ditambahkan di antara nama kontrol '_':
Tab standar
mm tmainmenu
PM Tpopupmenu
MMI TMainMenuitem
PMI tpopupmenuitem
lbl tlabel
EDT TEDIT;
MEM TMEMO
btn tbutton;
CB TCHECKBOX
RB Tradiobutton
LB tlistbox
CB Tcombobox
SCB TsCrollBar
GB TGroupbox
rg tradiogroup
pnl tpanel
CL TCommandlist
Tab tambahan
sg tstringgrid
DG TDRAWGRID
IMG Timage
SHP Tshape
bvl tbevel
SBX TSCrollBox
CLB TCHECKLISTBOX
spl tsplitter
STX TStatictext
cht tchart
Tab Win32
TBC TtabControl
PGC TPAGECONTROL
IL Timagelist
re trichedit
ttrackbar tbr
PRB tprogressbar
ud tupdown
HK Thotkey
Ani Tanimate
DTP TDateTimePicker
TTREEVIEW TV
LV TListView
HDR TheaderControl
STB TStatusBar
tlb ttoolbar
CLB TCOOLBAR
Tab Sistem
tm ?? timer
pb ?? tpaintbox
MP? Tmediaplayer
Olec? Tolecontainer
DDCC? TDDECLIENTCONV
ddci? tddeclientitem
DDSC? TDDESERVERCONV
DDSI? TDDESERVERITEM
?
Tab Sampel
GG ??
CG ??
SPB?
SPE?
DOL?
Cal?
Ibea?
?
Tab ActiveX
CFX?
VSP ??
f1b ??
VTC ??
grp ??
?
Win31 tab
dbll ??
DBLC ??
TS ????
ol ????
TNB ???
NB ????
HDR ???
FLB ???
DLB ???
DCB ??
FCB ??
Tab Midas
PRV ??
CDS ??
QCD ??
DCOM?
olee ??
sck ??
RMS ??
Mid ??
Tab Internet
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 GeneralServer
html?
url ?? tnmurl
sml ?? tsimplemail
Tab Akses Data
DS?? TdataSource
TBL?
qry?
SP ?? tstoredProc
db ?? tdatabase
SSN?
bm ?? tbatchmove
usql ?? tupdatesql
Tab Kontrol Data
dbg?? Tdbgrid
dbn ?? tdbnavigator
dbt ?? tdbtext
dbe ?? tdbedit
dbm?? Tdbmemo
dbi ?? tdbimage
dblb ?? tdblistbox
DBCB?? Tdbcombobox
DBCH ?? TDBCHECKBOX
dbrg ?? tdbradiogroup
dbll ?? tdblookuplistbox
dblc ?? tdblookupcomboBox
dbre ?? tdbrichedit
dbcg ?? tdbctrlgrid
dbch ?? tdbchart
Tab Kubus Keputusan
dcb ?? tdecisioncube
dcq ?? tdecisionQuery
dcs ?? tdecisionsource
dcp ?? tdecisionpivot
dcg ?? tdecisionGrid
dcgr? TdecisionGraph
Tab Qreport
qr ?? tquickreport
QRSD? TQRSUBDETAIL
qrb ?? tqrband
qrcb ?? tqrchildband
qrg ?? tqrgroup
qrl ?? tqrlabel
qrt ?? tqrtext
QRE ?? TQREEXPR
QRS?? TQRSYSDATA
qrm ?? tqrmemo
qrrrt ?? tqrrichText
QRDR?
qrsh ?? tqrshape
qri ??? tqrimage
qrdi ?? tqrdbMimage
qrcr?? TQRCompositEport
qrp ?? tqrpreview
QRCH TQRCHART
Tab Dialog
OPENDIALOG ???????? Topendialog
Savedialog ???????? Tsavedialog
OpenPicturedialog? Topenpicturedialog
Savepicturedialog ?? tsavepicturedialog
Fontdialog ?????????? tfontdialog
Colordialog ??????? TColordialog
Printdialog ????????? Tprintdialog
Printersetupdialog ?? tprintsetupdialog
Finddialog ??????????? tfinddialog
REPLACEIALOG ?????? TREPLACEIALOG
4. Permintaan modifikasi
4.1 Ubah Catatan Sejarah
Saat membuat modifikasi yang disetujui ke file sumber, pengubah harus menambahkan item riwayat modifikasi ke header file program. Dalam setiap modifikasi berikutnya, pengubah harus mengisi informasi berikut dalam item:
Pengubah:
DATETIME:
Menyebabkan:
Komentar:
4.2 Tambahkan baris kode baru
Baris kode baru seharusnya berkomentar baris sebelum dan sesudah.
// AB Modifikasi Orang;
Tambahan Kode
// ae
4.3 Hapus baris kode
Gunakan baris komentar untuk dijelaskan sebelum dan sesudah menghapus baris kode.
// DB Memodifikasi Orang, Waktu Modifikasi, Instruksi Modifikasi.
// baris kode yang akan dihapus (komentar pernyataan yang akan dihapus)
// de
4.4 Ubah Baris Kode
Ubah baris kode untuk menghapus baris kode dan menambahkan baris kode baru.
// MB memodifikasi orang, waktu modifikasi, instruksi modifikasi.
// baris pra kode sebelum modifikasi
Baris kode yang dimodifikasi
//Saya
5. File penamaan
File proyek harus menggunakan nama yang bermakna. Misalnya: File proyek untuk informasi sistem di Delphi bernama sysinfo.dpr.
3.7.2 File formulir
Konsisten dengan nama formulir: misalnya: Jika nama formulir adalah frrmmain, maka nama file formulir adalah frmmain.dfm. File unit yang sesuai adalah frmmain.pas
3.7.3 File Modul Data
Penamaan file modul data harus masuk akal dan menggunakan 'DM' sebagai awalan. Misalnya: Modul Data Pengguna bernama 'DMCustomers.DFM'. File unit yang sesuai adalah rdmcustomers.pas
3.7.4 File Modul Data Jarak Jauh
Nama file modul data jarak jauh harus masuk akal dan menggunakan 'RDM' sebagai awalan. Misalnya: Modul data jarak jauh pengguna dinamai 'rdmcustomers.dfm'. File unit yang sesuai adalah rdmcustomers.pas
3.7.5 File Unit Normal
Penamaan file unit harus masuk akal dan menggunakan 'u' sebagai awalan. Misalnya: Unit generik bernama 'Ugeneral.pas'.