Teknologian jakaminen

Johdatus projekti-/koodispesifikaatioihin ja Apifoxiin

2024-07-12

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

Sisällysluettelo

Sisällysluettelo

1. Hankkeen tiedot:

(1) Hankkeen rakenne:

(2) Lähetetty tietoobjekti

2. Kooditiedot:

(1) Tietokannan nimeämiskäytäntö:

(2) Huomautuksia koskevat tiedot:

(3) Nimeämistiedot:

(4) Käyttöliittymän ja taustan tekniset tiedot:

(5) Muut tiedot:

3. Apifoxin käyttö:

(1) Lataa ja asenna:

(2) Luo uusi projekti ja kutsu joukkuetoverisi:

(3) Kirjoitusmääritykset rajapintaasiakirjoille

4. Debug-toiminto (täytyy tuntea tausta)

5. Testiluokka

6. Huomioitavaa:

(Yksi henkilö ei voi hallita maata!!!)


1. Hankkeen tiedot:

(1) Hankkeen rakenne:

Erityiset ovat:

(1) Entiteettikerros: Entiteettikerros tallentaa tietyt objektien entiteetit, jotka vastaavat tietokannan objekteja.

(2) DAO-kerros: (voidaan jakaa kahteen kerrokseen (daon käyttöliittymäkerros ja daon toteutuskerros)) on kerros, joka on vuorovaikutuksessa tietokannan kanssa ja sisältää joitain tietokannan lisäys-, poisto-, muokkaus- ja kyselytoimintoja.

(3) Palvelukerros (voidaan jakaa kahteen kerrokseen (palvelurajapintakerros ja palvelun toteutuskerros)): vastaavat pääasiassa liiketoimintamoduulien loogista sovellussuunnittelua.

(4) Ohjainkerros: Ohjainkerros vastaa tiettyjen liiketoimintamoduulien prosessien ohjauksesta. Ohjainkerros on vastuussa etu- ja taustavuorovaikutuksesta, etupään pyyntöjen hyväksymisestä, palvelukerroksesta kutsumisesta ja lähettäjien palauttamien tietojen vastaanottamisesta. palvelukerroksen ja lopuksi tiettyjen sivujen ja tietojen palauttaminen asiakkaalle.

(5) Util-taso: Työkalukerrokseen sijoitetaan yleisesti käytetyt työkaluluokat Esimerkiksi jotkut yleiset menetelmät voidaan kirjoittaa util-funktiona ja sitten yleistä koodia yksinkertaistaa.

(6) Poikkeuskerros: Voit kirjoittaa yhtenäisen palautuspoikkeuskerroksen.

(7) Suodatinkerros: Suodatinkerros, kuten tasaisesti suodattava identiteetin todennus Jos suodatin ei läpäise, se on vain vierastilassa.

(2) Lähetetty tietoobjekti

DTO on käyttöliittymäpyynnön lähettämä tietorakenne.

VO on vastaus, jonka taustaosa palauttaa vastauksena käyttöliittymän lähettämään pyyntöön.

PO on todellinen vastaavuus kohdeentiteetin ja tietokantaobjektitaulukon välillä.

BO on objektientiteetti liiketoiminnan käsittelyprosessissa.

2. Kooditiedot:

Nimeä se englanniksi, ei kiinan pinyiniksi.

Ole helppo ymmärtää, älä hienoa.

Käytä hump-nimeämistä tavallisten nimien sijaan.

Käytä rivinvaihtoja väliajoin äläkä kirjoita pitkiä kappaleita.

Ole huomautettu, älä individualistinen.

Java-kielen koodausmääritys - Java-kielen koodausmääritys (kiinalainen versio) - Verkkodokumentaatio - JAVA-ohjelmointimateriaalit Niubi Station (javanb.com)icon-default.png?t=N7T8http://doc.javanb.com/code-conventions-for-the-java-programming-language-zh/index.html#312

Älä käytä avainsanoja, varattuja sanoja jne., joilla on erityismerkitys itse Javassa! ! !

(1) Tietokannan nimeämiskäytäntö:

(1) Taulukon nimi on yksilöllinen, eikä useissa taulukoiden nimissä voi käyttää samaa nimeä.

(2) Taulukon nimen tulee olla pienten kirjainten ja alaviivojen yhdistelmä. Älä käytä isoja kirjaimia tai erikoismerkkejä. Käytä "user_info" tai "tbl_user_info".

(3) Älä ole ristiriidassa avainsanojen kanssa,Jos haluat poistaa käytöstä varatut sanat, kuten like, desc, range, match, delayed jne., katso MySQL:n viralliset varatut sanat.

(4) Tietokantakentän nimi: Se koostuu 26 englanninkielisestä kirjaimesta (isot ja pienet kirjaimet) sekä alaviiva '_', kuten "user_id", "user_name", "user_password", "user_register_time", "user_login_time".

(5) Ensisijaisten ja vieraiden avainten määritykset:

Ensisijaisen avaimen hakemiston nimi on pk_field name;
havainnollistaa: pk_ on ensisijainen avain; idx_ on indeksin lyhenne.

Ensisijainen avain: pk_+taulukon nimi
Esimerkiksi:pk_main
Vieras avain: fk_+orjataulukon nimi+_+päätaulukon nimi
Esimerkiksi:fk_sub_main

(6) Desimaalityyppi on desimaali, ja float ja double ovat kiellettyjä.
(7) Kolme taulukon tarpeellista kenttää: id, create_time, update_time.

(2) Huomautuksia koskevat tiedot:

(1) Luokan huomautus:

Luokkamerkintöjä (Class) käytetään pääasiassa ilmoittamaan, mihin luokkaa käytetään, sekä joitain tietoja, kuten luoja, luontipäivämäärän versio, paketin nimi jne.:

/**
* @versio: V1.0
* @tekijä: fendo
* @className: käyttäjä
* @packageName: käyttäjä
* @description: Tämä on käyttäjäluokka
* @data: 2024-07-01 12:20
 **/

(2) Menetelmän huomautus (konstruktori):

Metodin sisällä oleville yksirivisille kommenteille aloita uusi rivi kommentoidun lauseen yläpuolelta ja käytä //-kommenttia. Käytä /* */ monirivisiin kommentteihin menetelmien sisällä
Kommenttien tulee olla linjassa koodin kanssa. Kaikki abstraktit menetelmät (mukaan lukien menetelmät käyttöliittymissä) tulee merkitä Javadocilla Palautusarvojen ja parametrien poikkeuskuvausten lisäksi niissä on myös ilmoitettava, mitä menetelmä tekee ja mitä toimintoja se toteuttaa.Metodimerkintöjä (Constructor) voidaan käyttää myös luokan parametrien, palautusten ja muiden tietojen ilmoittamiseen:

/**
* @tekijä: fendo
* @methodsName: addUser
* @description: Lisää käyttäjä
* @param: xxxx
* @return: merkkijono
* @heitot:
*/

(3) Koodilohkon kommentit: selitä koodisi tietyn osan tarkoitus

/**
* Luo käyttäjä
* xxxxxxx
 */
User user=new User();

(4) Yksilauseiset kommentit: kommentoi omaa koodiasi

User user=new User();

(3) Nimeämistiedot:

Nimeä se niin, että muut ymmärtävät sen, nimeä se kamelin kirjaimella ja ota kirjainkoko huomioon.

(1) Luokan nimi käyttää UpperCamelCase-tyyliä:
Esimerkiksi: UserController, FileController, BookService
(2) Menetelmien nimet, parametrien nimet, jäsenmuuttujat ja paikalliset muuttujat käyttävät kaikki LowCamelCase-tyyliä.
Esimerkiksi: getUserName(), userLogin(), getMessage();
(3) Jatkuva nimeäminen tulee kirjoittaa isoilla kirjaimilla, ja sanat tulee erottaa alaviivalla. Yritä ilmaista semantiikka kokonaan ja selkeästi, äläkä ajattele, että nimi on liian pitkä.
Esimerkki: MAX_STOCK_COUNT / CACHE_EXPIRED_TIME
(4) Abstraktin luokan nimi alkaa sanalla Abstract tai Base. Poikkeusluokan nimi alkaa testattavan luokan nimellä ja päättyy tekstiin Test.
(5) Pakettien nimien tulee olla tasaisesti pieniä, ja pisteerotinten välissä saa olla vain yksi englanninkielinen sana, jolla on luonnollinen semantiikka.Käytä pakettien nimiä yhtenäisesti Pariton numero muoto
kaava, mutta jos luokan nimellä on monikkomerkitys, luokan nimi voi käyttää monikkomuotoa.
(6) Palvelu/DAO-kerroksen menetelmän nimeämiskäytäntö:
1) Menetelmään yksittäisen objektin saamiseksi on etuliite get.
2) Menetelmät useiden objektien saamiseksi on liitetty luetteloon ja päättyvät monikkoon, kuten: listObjects
3) Tilastollisten arvojen saamismenetelmä on etuliitteenä count.
4) Lisäystavan edessä on tallenna/lisää.
5) Poistomenetelmän eteen on merkitty poista/poista.
6) Muokatun menetelmän etuliitteenä on päivitys.
(7) Verkkotunnusmallin nimeämiskäytäntö:
1) Tietoobjekti: xxxDO, xxx on tietotaulukon nimi.
2) Tiedonsiirtoobjekti: xxxDTO, xxx on liiketoiminta-alaan liittyvä nimi.
3) Näyttöobjekti: xxxVO, xxx on yleensä web-sivun nimi.
(8) Kaikkien kokonaislukujen pakkausluokan objektien välillä Arvojen vertailu , kaikki käyttävät yhtäläisyysmenetelmää vertailuun.
havainnollistaa: Kokonaisluvulle var = ? -128-127 IntegerCache.cache-objektien välinen osoitus luodaan, ja tämän alueen kokonaislukuarvot voidaan arvioida suoraan käyttämällä ==-arvoa, mutta kaikki tämän alueen ulkopuolella olevat tiedot eivät palauteta
Olemassa olevien objektien käyttäminen on suuri sudenkuoppa. On suositeltavaa käyttää yhtäläisyysmenetelmää.
(9) Liukulukujen välisen vastaavuuden arvioimiseksi perustietotyyppejä ei voida verrata käyttämällä ==:ta, eikä rivitettyä tietotyyppiä voida arvioida käyttämällä yhtäläisiä. BigDecimal-yhtälöiden vertailussa tulisi käyttää vertaaTo()-menetelmää equals()-menetelmän sijaan
Positiivinen esimerkki:
(1) Määritä virhealue Jos kahden liukulukuluvun välinen ero on tällä alueella, niitä pidetään yhtäläisinä.
kellua a = 1.0F - 0.9F ;
kellua b = 0.9F - 0.8F ;
kellua ero = 1e-6F ;
jos ( Matematiikka . abs ( a - b ) < ero ) {
Järjestelmä . ulos . println ( "totta" );
}
(2) Määritä arvo BigDecimalilla ja suorita sitten liukulukuoperaatioita.
BigDecimal a = Uusi BigDecimal ( "1.0" );
BigDecimal b = Uusi BigDecimal ( "0.9" );
BigDecimal c = Uusi BigDecimal ( "0.8" );
BigDecimal x = a . vähentää ( b );
BigDecimal y = b . vähentää ( c );
jos ( x . vertaa ( y ) == 0) {
Järjestelmä . ulos . println ( "totta" );
}
tunnisteen tyyppiNimeämissäännötesimerkki
Paketit Ainutlaatuisen paketin nimen etuliite on aina pieniä ASCII-kirjaimia ja se on ylätason verkkotunnus, yleensä com, edu, gov, mil, net, org tai englanninkielinen kaksimerkkinen koodi, joka tunnistaa vuoden 1981 lain määrittämän maan. ISO 3166 standardi. Paketin nimen myöhemmät osat vaihtelevat eri organisaatioiden sisäisten nimeämiskäytäntöjen mukaan. Tällaiset nimeämiskäytännöt voivat käyttää tiettyjen hakemistonimien koostumusta osastojen, projektien, koneiden tai kirjautumisnimien erottamiseen.com.sun.eng
com.apple.quicktime.v2
edu.cmu.cs.bovik.cheese
Luokat Nimeämissäännöt: Luokan nimi on substantiivi, jossa käytetään isoja ja pieniä kirjaimia ja jokaisen sanan ensimmäinen kirjain isolla. Yritä pitää luokkasi nimet tiiviinä ja kuvaavina. Käytä kokonaisia ​​sanoja, vältä lyhenteitä (ellei lyhennettä ole käytetty laajemmin, kuten URL, HTML)luokka Raster;
luokka ImageSprite;
LiitännätNimeämissäännöt: Kirjainkokosäännöt ovat samanlaisia ​​kuin luokkien nimetkäyttöliittymä RasterDelegate;
käyttöliittymä Varastointi;
menetelmät Metodin nimi on verbi, sekoitettuna, jossa ensimmäisen sanan ensimmäinen kirjain on pieni ja seuraavien sanojen ensimmäinen kirjain iso.Kamelitapauksen nimeäminenjuosta();
juokse nopeasti();
getBackground();
Muuttujat Muuttujien nimiä lukuun ottamatta kaikki esiintymät, mukaan lukien luokat ja luokkavakiot, ovat sekoitettuina kirjaimissa, jolloin ensimmäisen sanan ensimmäinen kirjain on pieni ja seuraavien sanojen ensimmäinen kirjain iso. Muuttujien nimet eivät saa alkaa alaviivalla tai dollarimerkillä, vaikka tämä on syntaktisesti sallittua.
Muuttujien nimien tulee olla lyhyitä ja kuvaavia. Muuttujien nimet tulee valita helposti muistettaviksi eli osoittamaan niiden tarkoitusta.

Lista<User> userList;

merkkijono käyttäjänimi;

Vakiot Luokkavakioiden ja ANSI-vakioiden ilmoitukset tulee kirjoittaa isoilla kirjaimilla, ja sanat on erotettava alaviivalla. (Yritä välttää ANSI-vakioita, jotka voivat aiheuttaa helposti virheitä)staattinen lopullinen int MIN_WIDTH = 4;
staattinen lopullinen int MAX_WIDTH = 999;
staattinen lopullinen int GET_THE_CPU = 1;

(4) Käyttöliittymän ja taustan tekniset tiedot:

(1) Pyyntömenetelmä: Tiettyjen toimintojen määritelmät ovat seuraavat:
a) GET: Hanki resurssit palvelimelta. (voidaan katsoa valittuna toimintona)
b) POST: Luo uusi resurssi palvelimelle. (voidaan pitää lisäysoperaationa)
c) PUT: Päivitä palvelimen resurssit. (voidaan katsoa päivitysoperaationa)
d) DELETE: Poista resurssit palvelimelta. (voidaan pitää poistotoiminnona)
(2)Pyydetyt palautustiedot:
  • code: http tilakoodi
    • Jos sinulla on muita itse määrittämiäsi virheitä, voit myös harkita omien virhekoodiesi käyttöä.
  • message: Vastaavat tekstikuvaustiedot
    • Jos tapahtuu virhe, tarkkoja virhetietoja näytetään.
    • Muuten toiminto onnistuu ja yleensä yksinkertaistettu käsittely palauttaa OK.
  • data
    • json-merkkijono, joka vastaa tietoja
      • siinä tapauksessa ettäjoukko, silloin vastaava uloin kerros on[]/list
      • siinä tapauksessa ettäesine, silloin vastaava uloin kerros on{}/dict
  1. {
  2. "code": 200,
  3. "message": "new user has created",
  4. "data": {
  5. "id": "user-4d51faba-97ff-4adf-b256-40d7c9c68103",
  6. "firstName": "crifan",
  7. "lastName": "Li",
  8. "password": "654321",
  9. "phone": "13511112222",
  10. "createdAt": "2016-10-24T20:39:46",
  11. "updatedAt": "2016-10-24T20:39:46"
  12. ......
  13. }
  14. }

(3) Vastauksen tilakoodi

Virhe:

  • 1xx (tietotilakoodi): Osoittaa, että vastaanotettua pyyntöä käsitellään.
  • 2xx (menestyksen tilakoodi) : Osoittaa, että pyyntö on käsitelty normaalisti. 200 tarkoittaa, että pyyntö palautettiin onnistuneesti.
  • 3xx (uudelleenohjauksen tilakoodi): Tämän pyynnön suorittaminen edellyttää jatkotoimia.
  • 4xx (asiakkaan virhetilakoodi) : Ilmaisee, että pyyntö sisältää syntaksivirheen tai sitä ei voida suorittaa loppuun. 400, 404, 401, 403 ovat kaikki käyttöliittymän aiheuttamia virheitä lähetettäessä pyyntöjä.
  • 5xx (palvelimen virhetilakoodi) : Tapahtui virhe, kun palvelin käsitteli pyyntöä. Taustaongelmat, poikkeukset voivat esiintyä, palvelinvirheet jne.

2XX menestys


200 ok (pyyntö onnistui)
204 ei sisältöä (pyyntö onnistui, mutta tulosta ei palautettu)
206 osittainen sisältö (asiakas pyytää osaa resurssista, palvelin vastaa onnistuneesti ja palauttaa joukon resursseja)


3XX uudelleenohjaus


301 siirtää pysyvästi (pysyvä uudelleenohjaus)
302 löytyi (väliaikainen uudelleenohjaus)
303 katso muu (osoittaa, että koska pyyntöä vastaavalla resurssilla on toinen URI, tulee käyttää GET:tä
Menetelmä pyydetyn resurssin hankkimiseen)
304 ei muokattu (osoittaa, että kun asiakas käyttää ehdollista pääsyä resurssiin, palvelin löytää resurssin, mutta pyynnön ehdot eivät täytä ehtoja. Sillä ei ole mitään tekemistä uudelleenohjauksen kanssa)
307 väliaikainen uudelleenohjaus (sama merkitys kuin 302)


4XX asiakasvirhe


400 virheellinen pyyntö (pyyntöviestissä on syntaksivirhe)
401 luvaton (vaatii todennuksen (ensimmäinen paluu) tai todennus epäonnistui (toinen paluu))
403 kielletty (palvelin hylkäsi pyynnön)
404 ei löydy (pyydetty resurssi ei löydy palvelimelta)


5XX palvelinvirhe


500 sisäinen palvelinvirhe (tapahtui virhe, kun palvelin suoritti pyynnön)
503-palvelu ei ole käytettävissä (palvelin on ylikuormitettu tai se ei toimi ylläpidon vuoksi eikä pysty käsittelemään pyyntöä)

(5) Muut tiedot:

(1) Kun HTTP-pyyntö lähettää sisältöä rungon kautta, pituutta on säädettävä Kun enimmäispituus ylittyy, taustajäsennykseen tapahtuu virhe.
havainnollistaa: Nginxin oletusraja on 1 Mt ja tomcatin oletusraja on 2 Mt Kun liiketoiminnassa on tarvetta siirtää suurempaa sisältöä, voit suurentaa palvelinpuolen rajaa.
(2) Älä käytä paluuta lopullisissa lohkoissa
havainnollistaa: Kun try-lohkon return-käsky on suoritettu onnistuneesti, se ei palauta heti, vaan jatkaa lauseen suorittamista lopullisessa lohkossa yritä estää.
(3) Liiketoimintaskenaarioissa Poikkeuksen heittämisen ja kiinni jäämisen jälkeen Jos joudut perääntymään Muista peruuttaa tapahtumat manuaalisesti.
(4) Voit käyttää lokeja tietojen tallentamiseen, Käytä kirjauskehystä (SLF4J, JCL – Jakarta Commons Logging) API sisään.

3. Apifoxin käyttö:

(1) Lataa ja asenna:

Linkki: Lataa apifox suoraan napsauttamalla linkkiä (lataa vain uusin versio). Apifox – integroitu yhteistyöalusta API-dokumentaatioon, virheenkorjaukseen, pilkkaamiseen ja testaukseen. Siinä on toimintoja, kuten käyttöliittymän dokumenttien hallinta, käyttöliittymän virheenkorjaus, mock ja automatisoitu testaus, ja käyttöliittymän kehittämisen, testauksen ja yhteisen virheenkorjauksen tehokkuus kasvaa 10-kertaiseksi. Paras käyttöliittymän dokumenttien hallintatyökalu ja käyttöliittymän automaation testaustyökalu.icon-default.png?t=N7T8https://apifox.com/

(2) Luo uusi projekti ja kutsu joukkuetoverisi:

1. Luo tiimisi ja luo uusi projekti:

Kutsu joukkuetoverisi

2. Luo uusi käyttöliittymä ja luo uusi tietomalli:

(1) Määritä, mikä pyyntö on (POST, GET, PUT, DELETE):

(2) Testiympäristön on oltava yhtenäinen, ja URL-osoitteet eri ympäristöissä ovat erilaisia:

(3) Pyyntöparametrit on määritetty:

Mitä parametreja on määritetty. Anna parametrien esimerkkejä, kiinalaisia ​​nimiä ja parametrien kuvauksia.

(4) Vastaus on määritettävä:

On esimerkiksi määriteltävä, millaista tietoa eri tiloissa palautetaan, ja on oltava menestys- ja poikkeusesimerkkejä (käyttöliittymän mukavuuden vuoksi).

  1. {
  2. "code": 200,
  3. "message": "登入成功",
  4. "data": {
  5. "user_id": 27,
  6. "user_name": "孟霞",
  7. "user_password": "123456",
  8. "user_age": "15",
  9. "user_photo": "http://dummyimage.com/400x400",
  10. "user_last_time": "1996-12-11 09:03:49",
  11. "user_indentity": "messager",
  12. "user_birthday": "2024-02-23"
  13. }
  14. }

(5) Tietomalli voidaan luoda:

Voit luoda useita tietomalleja, mikä on erittäin kätevä vastauskenttien palauttamiseen ja myös käyttöliittymän kätevää tarkastella tietokenttiäsi.

(3) Kirjoitusmääritykset rajapintaasiakirjoille

Apifoxin kirjoitustiedot ja erityiset yksityiskohdat.

Apifox Quick Start |. Apifox-ohjedokumentaatioicon-default.png?t=N7T8https://apifox.com/help/

(1) API-rajapinnan asiakirjan alussa pitäisi olla johdanto. Tämä osio voi sisältää seuraavat:

  • API-liittymän nimi ja versionumero
  • API-rajapinnan toiminta ja tarkoitus
  • API-rajapintojen suunnittelun tarkoitukset ja periaatteet
  • Sovellusliittymän laajuus ja rajoitukset

Tämän osan tarkoituksena on antaa lukijoille ymmärtää API-rajapinnan perustilanne ja taustatiedot.

(2) Liitäntäluettelo

Seuraavaksi API-rajapinta-asiakirjassa meidän on lueteltava kaikki rajapinnat. Jokaisen käyttöliittymän tulee sisältää seuraavat tiedot:

  • Käyttöliittymän nimi ja kuvaus
  • Pyyntötapa (GET, POST, PUT, DELETE jne.)
  • Pyynnön polku (URL)
  • Pyyntöparametrit (mukaan lukien kyselyparametrit ja runkoparametrit)
  • Pyyntöesimerkki (täydellinen esimerkki, joka voi sisältää pyynnön otsikot ja pyynnön tekstiosan)
  • Vastauksen tilakoodi ja kuvaus
  • Vastausparametrit (mukaan lukien otsikkoparametrit ja runkoparametrit)
  • Vastausesimerkki (täydellinen esimerkki, joka voi sisältää vastauksen otsikot ja vastauksen tekstin)

Tämän osion tarkoituksena on, että lukijat ymmärtävät nopeasti kunkin käyttöliittymän perustiedot ja voivat käyttää liitäntöjä oikein dokumentin esimerkkien perusteella.

(3) Pyyntöparametrien ja vastausparametrien kuvaus

Liitäntäluettelon jälkeen meidän on täsmennettävä kunkin liitännän pyyntöparametrit ja vastausparametrit. Tämän osan tulee sisältää seuraavat tiedot:

  • Parametrin nimi ja kuvaus
  • Parametrityypit ja -muodot
  • Onko se pakollinen ja oletusarvo
  • Parametriesimerkki

Parametrityypeissä ja -muodoissa voit käyttää vakiotietotyyppejä ja -muotoja tai voit määrittää omia tietotyyppejä ja -muotoja erityisten olosuhteiden mukaan. Tarvitaanko ja oletusarvot määritellä todellisen tilanteen perusteella.

(4) Virhekoodin kuvaus

API-rajapintaa käytettäessä tapahtuu joskus virhe. Tässä tapauksessa on palautettava virhekoodi, joka selittää virheen tyypin ja syyn. Siksi API-rajapinnan dokumentaatiossa meidän on määritettävä kaikki mahdolliset virhekoodit. Tämän osan tulee sisältää seuraavat tiedot:

  • Virhekoodi ja kuvaus
  • Virhetyypit ja syyt
  • Esimerkki käyttöliittymän palauttamasta virhekoodista

Tämän osan tarkoituksena on, että lukija ymmärtää kaikki mahdolliset virhetyypit ja syyt sekä osaa käsitellä virheitä oikein dokumentaation esimerkkien perusteella.

4. Debug-toiminto (täytyy tuntea tausta)

Opettele virheenkorjaus Javassa kahdessa minuutissa [Java in IDEA]_Kuinka debug java-projekteissa ilman tapauksia - CSDN-blogiicon-default.png?t=N7T8https://blog.csdn.net/qq_43436117/article/details/113859737

5. Testiluokka

(1) Erityistoiminnot:

Määrittele testiluokka

ehdotus:

Testiluokan nimi: Testatun luokan nimi Test CalculatorTest
Paketin nimi: xx.xx.xx.test cn.itcast.test
Määritä testimenetelmät: voidaan suorittaa itsenäisesti

ehdotus:

Menetelmän nimi: testimenetelmän nimi testAdd()
Palautusarvo: mitätön
Parametriluettelo: tyhjät parametrit
Lisää @Test menetelmään

Tuo Junit-riippuvuusympäristö

tuomion tulos:

Punainen: epäonnistui
vihreä: menestys
Käytämme yleensä Assert-luokan alla staattista menetelmää assertEquals (odotettu, todellinen) odotettujen tulosten ja tulostemme käsittelyyn.

Assert.assertEquals(3, tulos);

Kaksi parametria ovat: odotusarvo ohjelman tulosarvo

Miksi käyttää Assert.assertEquals(odotettu, todellinen) testitulosten käsittelyyn?

Koska edellytämme, että punainen edustaa epäonnistumista ja vihreä edustaa oikeellisuutta. Kun käytämme testimenetelmää tietokoneen lisäysmenetelmän testaamiseen, tulostamme vain tämän tuloksen (olettaen, että poikkeusta ei tapahdu). Jos syötämme 1 ja 3, odotamme saavamme tuloksen 4, mutta tulos on 2 ja odotamme saavamme 4. Tällä hetkellä saatu tulos ei vastaa odotuksiamme, mutta juoksutulos on silti vihreä (esittää oikein), eikö se ole oikein. Tällä hetkellä voimme käyttää Assertin assertEquals-menetelmää vertaillaksemme ohjelman tulosarvoa, jos ne ovat yhtä suuret, ja jos ne eivät ole samanarvoisia, se on punainen. Täyttääkö tämä aika vihreän ja punaisen määritelmämme?

  1. package cn.itcast.test;
  2. import cn.itcast.junit.Calculator;
  3. import org.junit.Assert;
  4. import org.junit.Test;
  5. public class CalculatorTest {
  6. /**
  7. * 测试add方法
  8. */
  9. @Test
  10. public void testAdd(){
  11. Calculator c = new Calculator();
  12. int a = 1, b = 2;
  13. int result = c.add(1, 2);
  14. Assert.assertEquals(3, result);
  15. }
  16. /**
  17. * 测试sub方法
  18. */
  19. @Test
  20. public void testSub(){
  21. Calculator c = new Calculator();
  22. int a = 1, b = 2;
  23. int result = c.sub(1, 2);
  24. Assert.assertEquals(-1, 2);
  25. }
  26. }

@Ennen
Lisää @Before ennen testimenetelmää ja siitä tulee alustusmenetelmä. Tämä menetelmä suoritetaan automaattisesti ennen kuin kaikki testimenetelmät suoritetaan. Sitä käytetään yleensä resurssisovelluksessa.

@Jälkeen
Lisää @After ennen testimenetelmää ja siitä tulee resurssien vapautusmenetelmä, joka suoritetaan automaattisesti, kun kaikki testimenetelmät on suoritettu.

@Before-kirjaimella koristeltu menetelmä suoritetaan ennen testimenetelmän suorittamista.

@Afterilla koristeltu menetelmä suoritetaan testimenetelmän suorittamisen jälkeen.

@Ennen tai @Jälkeen muokatut menetelmät suoritetaan riippumatta siitä, esiintyykö testimenetelmä.

(2) Luo automaattisesti testiluokan laajennuksia

Suositellut laajennukset yksikkötestien automaattiseen luomiseen Java-projekteille – Tencent Cloud Developer Community – Tencent Cloud (tencent.com)icon-default.png?t=N7T8https://cloud.tencent.com/developer/article/1910893

6. Huomioitavaa:

(1) Kun kirjoitat käyttöliittymäasiakirjan takaosaan, se on kirjoitettava selkeästi, jotta käyttöliittymäsi ymmärtää sen. Älä kirjoita sitä niin, että ymmärrät sen itse Uudelleenkirjoitetun nimen ja oletusarvon käyttöliittymän vastaus tulee kirjoittaa hyvin.

(2) Opetetun lisäksi voit oppia itse joitakin muita asioita, kuten sähköpostivahvistusrekisteröinnin, varmistuskoodin kirjautumisen, c3p0:n, MD5-salauksen, lokilokit, tulostyylin jne.

(3) Koodin kirjoittamisen on myös oltava standardoitua ja logiikan on oltava tiukat (eväste, istunto), joissa tarvitaan tyhjää harkintaa, ja jos turvallisuutta voidaan lisätä, voit oppia siitä.

(4) Käyttöliittymän ja taustaosan on toimittava hyvin yhteistyössä. Käyttöliittymän ja taustan vuorovaikutteinen vastaus on myös osa arviointia, ja se muodostaa suuren osan kirjoittamastasi käyttöliittymästä, jota ei voi ajaa vain apifox-sivulla Onko olemassa loogisia ongelmia jne. Saattaa olla tarpeen harkita.

(Yksi henkilö ei voi hallita maata!!!)

(5) Määritä kysyntäanalyysin aikana haluamasi toiminnot ja käyttöliittymät käyttöliittymät/data , jos et kirjoittanut, harkitse huolellisesti ja kommunikoi enemmän.

Voit vertailla projekteja, jotka todella toimivat tai jotain vastaavaa, kuten ostossivustoa. Tämän jälkeen sinun tulee vertailla Taobaoa, mitä taustaliittymiä tällä verkkosivustolla voi olla, mitä toiminnallisia moduuleja sillä voi olla, ja erityisiä yksityiskohtia.

(6) Älä tavoittele sokeasti enemmän, ole looginen ja järkevä ja opi yksinkertaistamaan niitä osia, jotka voidaan yksinkertaistaa. Mutta myös rajapintojen perusmäärä ja koodimäärä on taattava. (Alun perin kirjoittamamme käyttöliittymät olivat periaatteessa yli 40)