Spesifikasi pengkodean Delphi Penulis: Tulipsys Tanggal update: 16 Desember 2003 Daftar Isi 1. Konvensi umum (penamaan - lekukan dan spasi - margin - huruf besar - komentar) 2. Pernyataan (mulai...akhiri pernyataan-jika pernyataan-kasus pernyataan-untuk pernyataan-sementara pernyataan-ulangi pernyataan-dengan pernyataan-pernyataan penanganan pengecualian) 3. Prosedur dan fungsi (penamaan dan format-parameter formal-tipe-variabel-tipe khusus)4. Tujuan dari perumusan standar pengkodean yang berkaitan dengan berorientasi objek (penamaan kelas dan implementasi metode-bidang-metode-properti-metode) adalah untuk memungkinkan sekelompok pemrogram menghasilkan kode dengan gaya yang sama, sehingga sebuah tim dapat membentuk dan memelihara sebuah gaya tertentu. Jika tujuan ini tercapai, seluruh file proyek akan terlihat seperti ditulis oleh seorang programmer. Ya ampun memang menyenangkan, tapi keuntungannya adalah setiap kode programmer mudah dimengerti oleh orang lain, yang akan sangat meningkatkan pemeliharaan kode dan oleh karena itu mengurangi biaya pemeliharaan. Ini adalah situasi ideal untuk tim mana pun. Bagi individu, memilih atau menghasilkan sendiri norma pengkodean dan mematuhi norma ini juga dapat membuahkan hasil yang baik. Ini adalah tujuan yang sangat menggiurkan, namun tidak terlalu sulit untuk dicapai. Setiap bahasa pemrograman mempunyai standar pengkodeannya masing-masing. Standar pengkodean bisa dikatakan merupakan rangkuman dari pengalaman. Oleh karena itu, sangat penting untuk belajar dari orang lain. Kedua, penggunaan standar pengkodean adalah untuk menyederhanakan pekerjaan programmer. Arti dari "penyederhanaan" bukanlah untuk mengurangi jumlah kode (sebaliknya, mengikuti standar berkali-kali akan menghasilkan lebih banyak kode), tetapi untuk mengurangi jumlah kode programmer. tenaga kerja dalam menjaga kuantitas. Pemrograman adalah pekerjaan yang sangat kompleks. Sangat sulit untuk berurusan dengan berbagai hubungan, dan ada hubungan yang tidak dapat dipisahkan antara berbagai hubungan. Pemrogram harus menghabiskan sebagian besar energinya untuk menangani hubungan dan menghindari membuang waktu untuk masalah yang terlalu detail. Jika dia dapat memahami ide dan struktur program secara sekilas, rencana pemeliharaan akan segera terbentuk. Selain itu, standar pengkodean harus menjadi standar yang sangat ramah pengguna yang dapat Anda rujuk dan modifikasi, namun harus mudah digunakan. Namun dalam kelompok, pastikan semua orang menggunakan standar yang sama. Pemrograman adalah pekerjaan yang sangat fleksibel. Hanya dengan pemikiran yang fleksibel dan penerapan yang fleksibel dapat diperoleh hasil yang baik. Selain itu, penggunaan spesifikasi sebagian besar untuk mengurangi beban memori pada programmer. Kemampuan berpikir manusia sangat luar biasa, tetapi ingatannya sangat buruk. Kita menghadapi komputer sepanjang hari, dan hal terpenting yang ingin kita lakukan adalah ingatan. Oleh karena itu, salah satu tujuan kami adalah memaksimalkan keunggulan berpikir programmer. Terakhir, alat pemrograman mempunyai pengaruh besar terhadap standar pengkodean, dan pengaruh ini berasal dari gaya pemrograman pengembang. Juga berdasarkan C++, kami tidak akan menggunakan spesifikasi pengkodean yang persis sama di Microsoft Visual C++ dan Borland C++ Builder. Microsoft dan Borland memiliki gaya yang berbeda dan sangat berbeda. Sebagai pengguna, kami dapat melakukan perubahan berdasarkan hal ini, namun ada batasannya. Faktanya, ketika kita membuat pilihan mengenai vendor dan alat pengembangan, kita juga menentukan gaya masa depan kita. 1. Ketentuan umum 1.1 Penamaan Prinsip dasar penamaan adalah bahwa nama harus secara jelas menyatakan fungsi data. Object Pascal mendukung nama file yang panjang. Nama sebaiknya menggunakan kata kerja, kata benda, atau kombinasi keduanya. Anda tidak boleh menggunakan kata-kata khusus dan kata kunci yang ditentukan dalam Delphi, dan mencoba untuk tidak menggunakan kata-kata khusus dan kata kunci yang ditentukan dalam bahasa lain. Cobalah untuk menggunakan kata-kata yang lengkap dan hindari singkatan, awalan dan akhiran, garis bawah atau simbol lainnya. Konvensi penamaan digunakan untuk memastikan keterbacaan nama. Standar penamaan yang diwakili oleh tata nama Hongaria telah mengembangkan banyak prefiks dan sufiks untuk menunjukkan jenis, ruang lingkup, atau berbagai atribut data lainnya. Di Delphi, Anda tentu bisa menggunakan cara ini, namun ini bukan cara yang direkomendasikan. Salah satu alasannya adalah konvensi penamaan jenis ini membawa terlalu banyak tugas memori tambahan, dan alasan lainnya ditentukan oleh karakteristik Delphi itu sendiri. Pengecekan tipe wajib Delphi akan secara otomatis memantau penggunaan semua variabel, sehingga kita hanya perlu memberi sedikit perhatian (memperhatikan huruf besar pada kata) tanpa harus bersusah payah menambahkan berbagai awalan. Selain itu, pertimbangan data harus didasarkan pada makna daripada jenis atau ruang lingkup, dan perhatian harus diberikan pada struktur program, hubungan logis, dan ide desain. Jadi di Delphi Anda hanya perlu menggunakan kombinasi kata yang lengkap untuk memberi nama, tidak memikirkan hal lain, dan tentunya harus dibuat sesingkat mungkin. Dalam beberapa pernyataan (seperti perulangan for) kita perlu menggunakan beberapa bilangan bulat sebagai variabel penghitungan. Di sini Anda cukup menggunakan tiga huruf i, j, dan k sebagai nama variabel. Ini adalah kebiasaan yang dikembangkan dan dipertahankan dalam bahasa Fortran, dan terbukti sangat berguna dan mudah dipahami. Tentu saja, kami akan mendapatkan hasil yang lebih baik jika menggunakan nama yang lebih bermakna, seperti: MyCounter. Secara umum, tiga huruf i, j, dan k sudah cukup, jika tidak, lebih banyak proses atau fungsi yang harus dibagi. Berikut beberapa contohnya: 1. SongsList //Menunjukkan bahwa ini adalah daftar lagu. Jumlah lagu jamak menunjukkan bahwa ada lebih dari satu lagu. 2. SetCarColor //Menunjukkan bahwa ini adalah fungsi untuk mengatur warna Jika kelas TCar didefinisikan, maka SetColor digunakan di kelas tersebut sebagai anggota fungsi untuk mengatur warna mobil. Perhatikan juga penamaan variabel Boolean. Nama variabel Boolean harus dengan jelas menunjukkan arti Benar dan Salah. Misalnya, untuk variabel yang mencatat apakah suatu file ada, menggunakan IsFileExisted lebih baik daripada menggunakan FileExisted. Terakhir, jangan pernah memberi nama variabel global Temp atau Tmp, namun tetap diperbolehkan dalam prosedur atau fungsi. Faktanya, ada sedikit kontroversi mengenai aturan ini. Beberapa standar pengkodean lebih ketat. Penamaan seperti itu dilarang secara mutlak, bahkan dalam prosedur atau fungsi. Namun, seringkali penamaan ini sangat memudahkan, terutama untuk prosedur atau fungsi. Jika digunakan sebagai variabel global, kemungkinan besar akan ada pernyataan penugasan yang tidak sesuai dengan tipenya. Meskipun compiler akan memberikan banyak bantuan saat ini, sulit untuk menghindari terjadinya kesalahan kecil . Singkatnya, mengikuti aturan ini akan memberikan hasil yang lebih baik, namun tidak ada yang harus dipatuhi secara ketat jika perlu. 1.2 Indentasi dan Spasi Dua spasi harus diindentasi di antara setiap tingkat. Hal ini akan membuat program menjadi jelas dan terorganisir dengan baik. Jangan pernah menggunakan karakter tab, karena lebar karakter tab sulit dipertahankan konsisten dengan pengaturan dan aplikasi yang berbeda, namun jangan berharap program Anda hanya dapat dilihat di Delphi. Perhatikan juga penggunaan editornya. Jika Anda hanya memilih Delphi, maka tidak ada masalah; jika Anda juga menggunakan pengolah teks seperti Word, harap perhatikan penggunaan font yang sesuai untuk memastikan lebar setiap huruf dan simbol adalah sama. Saat mencetak dengan pengolah kata seperti Word, Anda juga harus memperhatikan pemilihan font. Penggunaan spasi juga untuk menjaga program tetap bersih dan memungkinkan pemrogram memahami struktur program dengan cepat. Berikut adalah beberapa spesifikasi dan contoh terkait: 1. Harus ada spasi di antara setiap kata. Misalnya: untuk TMyClass = class(TObject)2. Harus ada spasi di sekitar "=", "<>", ">=", dan "<="; harus ada spasi di sebelah kanan ":=" dan ":", tetapi tidak di sebelah kiri. Contoh: jika a = b maka a:= b; a: bilangan bulat; Harus ada spasi antara kata-kata yang dicadangkan dan kata kunci serta simbol di sebelah kiri, tetapi tidak boleh ada spasi di antara kata-kata tersebut dan simbol di sebelah kanan. Misalnya: Prosedur Tampilkan Pesan; kelebihan beban;4. Penggunaan tanda kurung: Dalam definisi dan pemanggilan prosedur dan fungsi, tidak boleh ada spasi di antara tanda kurung dan kata serta simbol di luar; Dalam penilaian kondisional pernyataan if, spasi harus digunakan di antara kata-kata khusus seperti dan dan atau. Misalnya: function Exchange(a: integer; b: integer); if (a = b) dan ((a = c) atau (a = d)) maka … end;1.3 margin Delphi editor berada di urutan ke-81 dari kanan. adalah garis gelap yang tersisa pada karakter. Faktanya, di bawah antarmuka default Delphi, ketika resolusinya 800*600, jendela yang dimaksimalkan akan ditampilkan 4 huruf di sebelah kiri garis gelap. Oleh karena itu, jangan menulis kode sumber di luar garis gelap, yang berarti setiap baris tidak boleh melebihi 80 karakter termasuk spasi awal dan tengah. Jika pernyataan terlalu panjang, maka jeda baris telah selesai, dan jeda baris harus diindentasi sebanyak dua karakter. Ini juga mudah untuk dicetak, dan bagian di luar garis gelap tidak akan dicetak di Delphi. Jika Anda menggunakan perangkat lunak pengolah kata seperti Word untuk mencetak program Delphi, bagian berlebihnya akan dipindahkan ke awal baris berikutnya, sehingga membuat program yang dicetak sulit dibaca. Oleh karena itu, cobalah untuk melakukan semua penyesuaian saat menulis kode, dan jangan serahkan pekerjaan semacam ini ke pencetakan. Saat membungkus garis, perhatikan untuk menjaga keterbacaan program dan usahakan untuk menjaga bagian yang lengkap. Sebagai contoh, jika fungsinya terlalu panjang, lengkapi deskripsi parameter, bukan hanya deklarasi tipe data. Dua cara penulisan pertama di bawah ini benar, dan cara penulisan berikut ini salah: function AdditonFiveInputNumber(a: integer; b: integer; c: integer; d: ineger;e: integer): integer; //Fungsi AdditonFiveInputNumber yang benar (a: integer;b: integer;c: integer;d: ineger;e: integer): integer; //Fungsi yang benar AdditonFiveInputNumber(a: integer; b: integer; c: integer; d: ineger; e: integer): integer; //Fungsi kesalahan AdditonFiveInputNumber(a: integer; b: integer; c: integer; d: ineger;e: integer ): bilangan bulat; //Fungsi kesalahan AdditonFiveInputNumber(a: bilangan bulat; b: bilangan bulat; c: integer; d: ineger;e: integer): integer; //Error 1.4 Huruf pertama setiap kata dalam nama khusus harus huruf besar dan kecil, dan huruf lainnya harus huruf kecil. Kata-kata dan kata kunci yang dicadangkan Delphi semuanya harus menggunakan huruf kecil. Cara penulisan fungsi standar Delphi sama dengan cara penulisan nama custom. Tipe data dasar di Delphi harus menggunakan huruf kecil, dan dua huruf pertama dari tipe kelas yang diperluas harus menggunakan huruf kapital (huruf pertama dari tipe kelas adalah "T"). Berikut beberapa contohnya: 1. Nama khusus: MyFavouriteSong, CarList; 2. Kata-kata yang dicadangkan: if (a = b) dan ((a = c) atau (a = d)) maka … end; ('Semuanya baik-baik saja');4. Tipe kelas ekstensi Delphi: MyStrings = TStrings.Create;1.5 Komentar Delphi mendukung dua tipe komentar: komentar blok ({}) dan komentar satu baris (//). Tujuan dari komentar adalah untuk menjelaskan ide desain program dan membantu programmer memahami ide program yang ditulis dua tahun lalu atau bahkan kemarin secepatnya. Hal ini sebenarnya untuk mengatasi masalah memori. Otak tidak boleh digunakan secara berlebihan sebagai memori. Oleh karena itu, komentar merupakan aspek yang sangat penting dalam bahasa pemrograman, meskipun banyak orang (terutama pemula, termasuk banyak programmer) tidak mempermasalahkan hal ini dan mereka jarang menulis komentar. Penerapan komentar lainnya adalah pada tahap debugging program. Misalnya, jika ada dua pernyataan dan Anda tidak tahu mana yang lebih baik sebelumnya, Anda perlu menguji: letakkan "//" sebelum pernyataan (yaitu, ubah pernyataan untuk dikomentari), jalankan pernyataan lain, lalu lakukan sebaliknya, kita dapat dengan mudah menentukan pilihan. Jika merupakan sekelompok pernyataan, gunakan komentar blok, namun pastikan untuk menempatkan "{" dan "}" pada posisi yang menonjol, misalnya pada baris atas dan bawah yang terpisah. Berikut ini adalah beberapa prinsip penggunaan: 1. Dalam kebanyakan kasus, komentar perlu ditempatkan di depan variabel dan tipe khusus. 2. Dalam kebanyakan kasus, komentar perlu ditempatkan di bagian atas file unit. Di sini, komentar harus mencakup: nama file, tanggal pembuatan, tanggal modifikasi, penulis, penulis modifikasi, dan deskripsi yang diperlukan. 3. Komentar harus bermakna, jangan gunakan komentar yang tidak berguna. Misalnya: while i < 8 dobegin … i:= i + 1; //Tambahkan satu ke iend; komentar "//Tambahkan satu ke i" tidak ada artinya di sini, tentu saja bukan berarti pernyataan sederhana (mirip dengan: i : = i + 1) tidak perlu komentar. Karena pernyataan sederhana seringkali mempunyai peranan yang sangat penting, jika pernyataan ini membuat orang bertanya-tanya atau sulit memahaminya, maka fungsi pernyataan ini harus diberi tanda. 4. Jangan mencoba membuat monogram di komentar kecuali menurut Anda itu benar-benar diperlukan. Karena sangat sulit untuk memodifikasi anotasi sekaligus menjaga polanya tetap utuh dan indah. . 5. Untuk membedakan komentar sementara dan komentar permanen, Anda dapat menggunakan metode Anda untuk menempatkan simbol khusus di komentar. Kelebihannya adalah mudah ditemukan. 6. Perubahan pada pernyataan dipetakan ke komentar terkait. 7. Harus ada jarak yang jelas antara komentar dan kode, sehingga Anda dapat membedakan mana yang merupakan pernyataan dan mana yang merupakan komentar. Anda dapat menempatkan komentar pada baris sebelum atau sesudah baris kode, atau meninggalkan setidaknya dua spasi tepat setelah kode. Namun, jika kode dan komentar berada pada baris yang sama, jangan letakkan kode tersebut setelah komentar. jangan letakkan kode setelah komentar.