informasi kontak saya
Surat[email protected]
2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
Daftar isi
Daftar isi
(2) Objek data yang dikirimkan
(1) Konvensi penamaan basis data:
(4) Spesifikasi front-end dan back-end:
(1) Pengunduhan dan pemasangan:
(2) Buat proyek baru dan undang rekan satu tim Anda:
(3) Spesifikasi penulisan untuk dokumen antarmuka
4. Fungsi debug (harus mengetahui backend)
(Satu orang tidak dapat mendominasi negara!!!)
Yang spesifik adalah:
(1) Lapisan entitas: Lapisan entitas menyimpan entitas objek tertentu, yang sesuai dengan objek dalam database.
(2) Lapisan DAO: (dapat dibagi lagi menjadi dua lapisan (lapisan antarmuka dao dan lapisan implementasi dao)) adalah lapisan yang berinteraksi dengan database, yang melibatkan beberapa operasi penambahan, penghapusan, modifikasi, dan kueri database.
(3) Lapisan layanan (dapat dibagi lagi menjadi dua lapisan (lapisan antarmuka layanan dan lapisan implementasi layanan)): terutama bertanggung jawab atas desain aplikasi logis modul bisnis.
(4) Lapisan pengontrol: Lapisan Pengontrol bertanggung jawab untuk mengendalikan proses modul bisnis tertentu. Lapisan pengontrol bertanggung jawab atas interaksi front-end dan back-end, menerima permintaan front-end, memanggil lapisan layanan, menerima data yang dikembalikan oleh lapisan layanan, dan akhirnya mengembalikan halaman dan data tertentu ke klien.
(5) Lapisan utilitas: Lapisan alat menempatkan kelas alat yang umum digunakan. Misalnya, beberapa metode umum dapat ditulis sebagai fungsi util, dan kemudian keseluruhan kode dapat disederhanakan.
(6) Lapisan pengecualian: Anda dapat menulis lapisan pengecualian pengembalian terpadu.
(7) Lapisan filter: Lapisan filter, seperti memfilter otentikasi identitas secara seragam. Jika filter tidak lolos, maka hanya akan berada dalam mode tamu.
DTO adalah struktur data yang dikirim oleh permintaan front-end.
VO adalah respon yang dikembalikan oleh backend sebagai respon terhadap permintaan yang dikirim oleh frontend.
PO adalah korespondensi sebenarnya antara entitas objek dan tabel objek database.
BO adalah entitas objek dalam proses pemrosesan bisnis.
Harap beri nama dalam bahasa Inggris, bukan Pinyin Cina.
Mudah dimengerti, tidak mewah.
Gunakan penamaan punuk daripada nama biasa.
Gunakan jeda baris secara berkala dan jangan menulis dalam paragraf yang panjang.
Bersikaplah anotasi, bukan individualistis.
Jangan gunakan kata kunci, kata khusus, dll. yang memiliki arti khusus di Java itu sendiri! ! !
(1) Nama tabel bersifat unik, dan beberapa nama tabel tidak dapat menggunakan nama yang sama.
(2) Nama tabel harus berupa kombinasi huruf kecil dan garis bawah. Usahakan untuk menghindari penggunaan huruf besar atau karakter khusus. Artinya harus jelas. Gunakan "user_info" seperti ini, atau "tbl_user" atau "tbl_user_info".
(3) Tidak bertentangan dengan kata kunci,Untuk menonaktifkan kata-kata yang dicadangkan, seperti seperti, desc, range, match, tertunda, dll., silakan merujuk ke kata-kata resmi yang dicadangkan MySQL.
(4) Nama field database: Terdiri dari 26 huruf bahasa Inggris (peka huruf besar-kecil) ditambah garis bawah '_', seperti "user_id", "user_name", "user_password", "user_register_time", "user_login_time".
(5) Spesifikasi kunci primer dan kunci asing:
Kunci utama: pk_+nama tabel
Misalnya:pk_main
Kunci asing: fk_+nama tabel budak+_+nama tabel utama
Misalnya:fk_sub_main
(1) Anotasi kelas:
Anotasi kelas (Kelas) terutama digunakan untuk mendeklarasikan kegunaan kelas tersebut, serta beberapa informasi seperti pembuat, versi tanggal pembuatan, nama paket, dll.:
/**
* @versi: V1.0
* @penulis: fendo
* @className: pengguna
* @packageName: pengguna
* @deskripsi: Ini adalah kelas pengguna
* @data: 01-07-2024 12:20
**/
(2) Anotasi metode (Konstruktor):
/**
* @penulis: fendo
* @namametode: tambahkanPengguna
* @deskripsi: Tambahkan pengguna
* @param: xxxx
* @kembali: Tali
* @melempar:
*/
(3) Komentar blok kode: jelaskan tujuan bagian tertentu dari kode Anda
/**
* Buat instance pengguna
* xxxxxxxxxx
*/
Pengguna pengguna=new User();
(4) Komentar satu kalimat: komentari kode individual Anda
Pengguna pengguna=Pengguna baru(); //Membuat instance pengguna
Beri nama agar orang lain dapat memahaminya, beri nama dalam huruf besar dan kecil, dan peka terhadap huruf besar-kecil.
Misalnya: UserController, FileController, BookService
Misalnya: getUserName(), userLogin(), getMessage();
Misalnya: MAX_STOCK_COUNT / CACHE_EXPIRED_TIME
1) Metode untuk memperoleh suatu objek diawali dengan get.2) Metode untuk memperoleh banyak objek diawali dengan daftar dan diakhiri dengan jamak, seperti: listObjects3) Cara memperoleh nilai statistik diawali dengan hitungan.4) Cara penyisipan diawali dengan simpan/masukkan.5) Cara penghapusan diawali dengan hapus/hapus.6) Metode yang dimodifikasi diawali dengan pembaruan.
1) Objek data: xxxDO, xxx adalah nama tabel data.2) Objek transfer data: xxxDTO, xxx adalah nama yang berhubungan dengan bidang usaha.3) Objek tampilan: xxxVO, xxx umumnya adalah nama halaman web.
Ini adalah kesalahan besar ketika menggunakan objek yang sudah ada. Disarankan untuk menggunakan metode yang sama untuk penilaian.
Contoh positif:(1) Tentukan rentang kesalahan. Jika perbedaan antara dua angka floating point berada dalam rentang ini, maka keduanya dianggap sama.mengambang A = 1,0F - 0,9F ;mengambang B = 0,9F - 0,8F ;mengambang perbedaan = 1e-6F ;jika ( Matematika . perut ( A - B ) < perbedaan ) {Sistem . keluar . cetak ( "BENAR" );}(2) Gunakan BigDecimal untuk menentukan nilai, lalu lakukan operasi bilangan floating point.Desimal Besar a = baru Desimal Besar ( "1.0" );Desimal Besar b = baru Desimal Besar ( "0.9" );Desimal Besar c = baru Desimal Besar ( "0.8" );Desimal Besar x = A . mengurangi ( B );Desimal Besar y = B . mengurangi ( C );jika ( X . dibandingkan dengan ( kamu ) == 0) {Sistem . keluar . cetak ( "BENAR" );}
jenis pengenal | Aturan penamaan | contoh |
Paket | Awalan nama paket unik selalu berupa huruf kecil ASCII dan merupakan nama domain tingkat atas, biasanya com, edu, gov, mil, net, org, atau kode dua karakter bahasa Inggris yang mengidentifikasi negara yang ditentukan oleh tahun 1981 standar ISO 3166. Bagian selanjutnya dari nama paket berbeda-beda sesuai dengan konvensi penamaan internal organisasi yang berbeda. Konvensi penamaan tersebut dapat menggunakan komposisi nama direktori tertentu untuk membedakan departemen, proyek, mesin, atau nama login. | com.sun.eng com.apple.quicktime.v2 edu.cmu.cs.bovik.keju |
Kelas | Aturan penamaan: Nama kelas adalah kata benda, menggunakan huruf campuran, dengan huruf pertama setiap kata menggunakan huruf kapital. Usahakan nama kelas Anda tetap ringkas dan deskriptif. Gunakan kata-kata yang lengkap, hindari singkatan (kecuali singkatan tersebut lebih banyak digunakan, seperti URL, HTML) | kelas Raster; kelas ImageSprite; |
Antarmuka | Aturan penamaan: Aturan kasus mirip dengan nama kelas | antarmuka RasterDelegate; antarmuka Penyimpanan; |
Metode | Nama metode adalah kata kerja, dalam huruf campuran, dengan huruf pertama dari kata pertama menjadi huruf kecil dan huruf pertama dari kata berikutnya menjadi huruf besar.Penamaan kasus unta | berlari(); lari cepat(); dapatkanLatar Belakang(); |
Variabel | Kecuali untuk nama variabel, semua instance, termasuk kelas dan konstanta kelas, ditulis dalam huruf campuran, dengan huruf pertama pada kata pertama adalah huruf kecil dan huruf pertama pada kata berikutnya adalah huruf besar. Nama variabel tidak boleh dimulai dengan garis bawah atau tanda dolar, meskipun hal ini diperbolehkan secara sintaksis. Nama variabel harus pendek dan deskriptif. Nama variabel sebaiknya dipilih agar mudah diingat, yaitu untuk menunjukkan tujuannya. | Daftar<User> Daftar pengguna; String namapengguna; |
Konstanta | Deklarasi konstanta kelas dan konstanta ANSI harus menggunakan huruf kapital semua, dengan kata-kata dipisahkan dengan garis bawah. (Cobalah untuk menghindari konstanta ANSI, yang dapat dengan mudah menyebabkan kesalahan) | statis final int MIN_WIDTH = 4; statis final int MAX_WIDTH = 999; statis final int DAPATKAN_CPU_THE = 1; |
a) GET: Dapatkan sumber daya dari server. (dapat dilihat sebagai operasi pemilihan)b) POST: Buat sumber daya baru di server. (dapat dianggap sebagai operasi penyisipan)c) PUT: Perbarui sumber daya di server. (dapat dilihat sebagai operasi pembaruan)d) HAPUS: Menghapus sumber daya dari server. (dapat dianggap sebagai operasi penghapusan)
code
:kode status http message
: Informasi deskripsi teks yang sesuai data
list
dict
- {
- "code": 200,
- "message": "new user has created",
- "data": {
- "id": "user-4d51faba-97ff-4adf-b256-40d7c9c68103",
- "firstName": "crifan",
- "lastName": "Li",
- "password": "654321",
- "phone": "13511112222",
- "createdAt": "2016-10-24T20:39:46",
- "updatedAt": "2016-10-24T20:39:46"
- ......
- }
- }
(3) Kode status respons
Kesalahan:
2XX sukses
200 oke (permintaan berhasil)
204 tidak ada konten (permintaan berhasil, tetapi tidak ada hasil yang dikembalikan)
206 konten parsial (klien meminta sebagian sumber daya, server berhasil merespons dan mengembalikan berbagai sumber daya)
pengalihan 3XX
301 pindah secara permanen (pengalihan permanen)
302 ditemukan (pengalihan sementara)
303 lihat lainnya (menunjukkan bahwa karena ada URI lain untuk sumber daya yang sesuai dengan permintaan, GET harus digunakan
Metode diarahkan untuk mendapatkan sumber daya yang diminta)
304 tidak diubah (menunjukkan bahwa ketika klien menggunakan akses bersyarat ke sumber daya, server menemukan sumber daya tersebut, tetapi kondisi permintaan tidak memenuhi ketentuan. Ini tidak ada hubungannya dengan pengalihan)
307 pengalihan sementara (artinya sama dengan 302)
Kesalahan klien 4XX
400 permintaan buruk (ada kesalahan sintaksis dalam pesan permintaan)
401 tidak sah (memerlukan otentikasi (pengembalian pertama) atau otentikasi gagal (pengembalian kedua))
403 dilarang (permintaan ditolak oleh server)
404 tidak ditemukan (sumber daya yang diminta tidak dapat ditemukan di server)
Kesalahan server 5XX
500 kesalahan server internal (kesalahan terjadi saat server menjalankan permintaan)
Layanan 503 tidak tersedia (server kelebihan beban atau tidak aktif karena pemeliharaan dan tidak dapat menangani permintaan)
menjelaskan: Batas default nginx adalah 1MB, dan batas default Tomcat adalah 2MB. Ketika ada kebutuhan bisnis untuk mentransfer konten yang lebih besar, Anda dapat meningkatkan batas sisi server.
menjelaskan: Setelah pernyataan return di blok try berhasil dieksekusi, ia tidak langsung kembali, tetapi terus mengeksekusi pernyataan di blok akhirnya. Jika ada pernyataan return di sini, ia akan langsung kembali ke sini, tanpa ampun membuang titik pengembalian di blok tersebut coba blokir.
Link : Klik link untuk langsung mendownload apifox (cukup download versi terbarunya). Apifox - platform kolaborasi terintegrasi untuk dokumentasi API, debugging, mocking, dan pengujian. Ini memiliki fungsi seperti manajemen dokumen antarmuka, debugging antarmuka, Mock, dan pengujian otomatis, dan efisiensi pengembangan antarmuka, pengujian, dan debugging bersama meningkat 10 kali lipat. Alat manajemen dokumen antarmuka terbaik dan alat pengujian otomatisasi antarmuka.https://apifox.com/
1. Buat tim Anda dan buat proyek baru:
Undang rekan satu tim Anda
2. Buat antarmuka baru dan model data baru:
(1) Tentukan apa permintaannya (POST, GET, PUT, DELETE):
(2) Lingkungan pengujian harus disatukan, dan URL di lingkungan yang berbeda berbeda:
(3) Parameter permintaan dikonfigurasi:
Parameter apa yang dikonfigurasi? Berikan contoh parameter, nama Cina, dan deskripsi parameter.
(4) Responsnya harus dikonfigurasi:
Misalnya, perlu untuk menentukan jenis informasi apa yang dikembalikan di negara bagian yang berbeda, dan harus ada contoh keberhasilan dan contoh pengecualian (untuk kenyamanan front end).
- {
- "code": 200,
- "message": "登入成功",
- "data": {
- "user_id": 27,
- "user_name": "孟霞",
- "user_password": "123456",
- "user_age": "15",
- "user_photo": "http://dummyimage.com/400x400",
- "user_last_time": "1996-12-11 09:03:49",
- "user_indentity": "messager",
- "user_birthday": "2024-02-23"
- }
- }
(5) Model data dapat dibuat:
Anda dapat membuat beberapa model data, yang sangat berguna untuk mengembalikan bidang respons dan juga memudahkan front-end untuk melihat bidang data Anda.
Spesifikasi penulisan dan detail spesifik apifox.
Mulai Cepat Apifox |. Dokumentasi Bantuan Apifoxhttps://apifox.com/bantuan/
(1) Harus ada pendahuluan di awal dokumen antarmuka API. Bagian ini dapat mencakup hal berikut:
Tujuan dari bagian ini adalah agar pembaca memahami situasi dasar dan informasi latar belakang antarmuka API.
(2) Daftar antarmuka
Selanjutnya, dalam dokumen antarmuka API, kita perlu membuat daftar semua antarmuka. Setiap antarmuka harus berisi informasi berikut:
Tujuan bagian ini adalah agar pembaca dapat dengan cepat memahami informasi dasar setiap antarmuka dan menggunakan antarmuka dengan benar berdasarkan contoh dalam dokumen.
(3) Deskripsi parameter permintaan dan parameter respons
Setelah daftar antarmuka, kita perlu merinci parameter permintaan dan parameter respons untuk setiap antarmuka. Bagian ini harus mencakup informasi berikut:
Untuk tipe dan format parameter, Anda bisa menggunakan tipe dan format data standar, atau Anda bisa menentukan tipe dan format data Anda sendiri sesuai dengan keadaan tertentu. Apakah nilai wajib dan nilai default perlu ditentukan berdasarkan situasi aktual.
(4) Deskripsi kode kesalahan
Saat menggunakan antarmuka API, terkadang terjadi kesalahan. Dalam hal ini, kode kesalahan perlu dikembalikan untuk menjelaskan jenis dan penyebab kesalahan. Oleh karena itu, dalam dokumentasi antarmuka API, kita perlu menentukan semua kemungkinan kode kesalahan. Bagian ini harus mencakup informasi berikut:
Tujuan bagian ini adalah agar pembaca memahami semua kemungkinan jenis dan penyebab kesalahan, serta mampu menangani kesalahan dengan benar berdasarkan contoh dalam dokumentasi.
(1) Operasi khusus:
Tentukan kelas tes
saran:
Nama kelas pengujian: Nama kelas yang diuji Test KalkulatorTest
Nama paket: xx.xx.xx.test cn.itcast.test
Tentukan metode pengujian: dapat dijalankan secara mandiri
saran:
Nama metode: nama metode pengujian testAdd()
Nilai pengembalian: batal
Daftar parameter: parameter kosong
Tambahkan @Test ke metode ini
Impor lingkungan ketergantungan Junit
hasil penilaian:
Merah: gagal
hijau: sukses
Kami biasanya menggunakan metode statis menegaskanEquals(diharapkan, aktual) di bawah kelas Assert untuk menangani hasil yang diharapkan dan hasil keluaran
Assert.assertEquals(3, hasil);
Kedua parameter tersebut adalah: nilai yang diharapkan nilai hasil program
Mengapa menggunakan Assert.assertEquals(diharapkan, aktual) untuk memproses hasil pengujian?
Karena kami menetapkan bahwa merah melambangkan kegagalan dan hijau melambangkan kebenaran. Saat kami menggunakan metode pengujian untuk menguji metode penjumlahan komputer, kami hanya menampilkan hasil ini (dengan asumsi tidak ada pengecualian yang terjadi). Jika kita input 1 dan 3, kita berharap mendapatkan hasil 4, namun yang kita output adalah 2, dan yang kita harapkan adalah 4. Hasil yang didapat saat ini tidak sesuai dengan ekspektasi kita, namun hasil running masih hijau (mewakili benar), Bukankah itu benar? Saat ini, kita dapat menggunakan metode AsserEquals di akhir untuk membandingkan nilai yang diharapkan dan nilai hasil yang dikeluarkan oleh program. Jika keduanya sama, maka akan berwarna hijau, dan jika tidak sama, warnanya merah. Apakah kali ini memenuhi definisi kita tentang hijau dan merah?
- package cn.itcast.test;
-
- import cn.itcast.junit.Calculator;
- import org.junit.Assert;
- import org.junit.Test;
-
- public class CalculatorTest {
- /**
- * 测试add方法
- */
- @Test
- public void testAdd(){
- Calculator c = new Calculator();
- int a = 1, b = 2;
- int result = c.add(1, 2);
- Assert.assertEquals(3, result);
- }
-
- /**
- * 测试sub方法
- */
- @Test
- public void testSub(){
- Calculator c = new Calculator();
- int a = 1, b = 2;
- int result = c.sub(1, 2);
- Assert.assertEquals(-1, 2);
- }
- }
-
@Sebelum
Tambahkan @Before sebelum metode pengujian dan ini menjadi metode inisialisasi. Metode ini akan dijalankan secara otomatis sebelum semua metode pengujian dijalankan.
@Setelah
Tambahkan @After sebelum metode pengujian dan itu menjadi metode pelepasan sumber daya, yang akan dieksekusi secara otomatis setelah semua metode pengujian dijalankan.
Metode yang dihiasi dengan @Before akan dieksekusi sebelum metode pengujian dijalankan.
Metode yang dihiasi dengan @After akan dieksekusi setelah metode pengujian dijalankan.
Metode yang dimodifikasi dengan @Before atau @After akan dieksekusi terlepas dari apakah metode pengujian tersebut terjadi.
(2) Secara otomatis menghasilkan plug-in kelas Tes
(1) Saat menulis dokumen antarmuka di bagian belakang, harus ditulis dengan jelas dan jelas agar bagian depan Anda dapat memahaminya . Nama yang ditulis ulang dan respons antarmuka nilai default harus ditulis dengan baik.
(2) Selain yang diajarkan, Anda dapat mempelajari beberapa hal lain sendiri, seperti registrasi verifikasi email, login kode verifikasi, c3p0, enkripsi MD5, log log, Gaya hasil, dll.
(3) Penulisan kode juga harus terstandarisasi dan logikanya harus ketat; pengaturan (cookie, sesi); jika diperlukan penilaian kosong, penilaian kosong harus dibuat, dan jika keamanan dapat ditingkatkan, Anda dapat belajar darinya.
(4) Front-end dan back-end harus bekerja sama dengan baik. Jangan biarkan back-end hanya melakukan urusannya sendiri tanpa mengucapkan sepatah kata pun kepada front-end. Respons interaktif dari front-end dan back-end juga merupakan bagian dari penilaian, yang mencakup sebagian besar Antarmuka yang Anda tulis tidak hanya dapat dijalankan melalui apifox ? Apakah ada masalah logika, dll. Mungkin perlu diperhatikan.
(5) Selama analisis permintaan, tentukan fungsi dan antarmuka yang ingin Anda lakukan. Jika Anda telah melakukan beberapa fungsi tetapi front-end belum melakukannya, Anda dapat mendorongnya interfaces/data , jika Anda tidak menulis, maka renungkan dengan cermat dan komunikasikan lebih banyak.
Anda dapat melakukan benchmark terhadap proyek yang benar-benar berfungsi atau yang serupa, seperti situs belanja. Maka Anda harus membandingkannya dengan Taobao. Antarmuka back-end yang mungkin dimiliki situs web ini, modul fungsional yang mungkin dimilikinya, dan detail spesifiknya.
(6) Jangan mengejar lebih banyak secara membabi buta, bersikaplah logis dan masuk akal, dan belajar menyederhanakan bagian-bagian yang dapat disederhanakan. Namun jumlah dasar antarmuka dan volume kode juga harus dijamin. (Antarmuka yang awalnya kami tulis pada dasarnya lebih dari 40)