Technology sharing

Introductio ad project/code specificationes et Apifox

2024-07-12

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

Tabula contentorum

Tabula contentorum

Specificationes Project 1.:

(1) Project structure:

(II) transmittitur notitia object

2. Codicis determinationes:

(1) Database nominatio placitum;

(2) Annotationes specificationes:

(3) Nominatio specificationum:

(4) Ante-finem et posteriorem specificationes;

(5) Aliae notationes:

3. Usus Apifox:

(I) Download and installation:

(II) Novum consilium et teammates invitare:

(3) Scribere specifica documenta interface

4. Debug munus (scire debet backend)

5. Test genus

6. Rerum notandae;

(Unus homo non potest dominari regionem !!!)


Specificationes Project 1.:

(1) Project structure:

Propriae sunt:

(1) Entity layer: Ens layer recondit specific object entia, correspondens objectis in datorum datorum.

(2) DAO iacuit: (in duos ordines subdividi potest (in strato interface dao et stratum dao exsequendum)) est lavacrum qui cum datorum reciproce intercedit, additis datorum, deletionum, modificationum et interrogationum operationibus involvens.

(3) Servitium stratum (in duos ordines subdividi potest (servitivum stratum interfaciei et servitii stratum exsecutionem)): maxime responsabilis applicationis ratiocinationis modulorum negotiorum.

(4) Stratum moderatoris: Stratum moderatoris est responsabile moderamen processuum specificorum moduli. iacuit servitium, et tandem paginas specificas et notitias clienti reddens.

(5) Util iacuit: Instrumentum iacuit in locis instrumentorum generum communiter adhibitis. Puta aliquae rationes communes ut munus utile scribi possunt et tunc altiore codice simpliciores fieri possunt.

(6) Tabulae exceptionis: Reditus unificatus scribere potes exceptio iacuit.

(7) Saccus tabulatum: Saccus iacuit, ut identitatis authenticas uniformiter percolando. Si colum non transit, modo in hospitio erit.

(II) transmittitur notitia object

DTO fabrica data est petitio a fronte ad finem missa.

VO responsio per backend redditur responsio ad petitionem missam a frontend.

PO actualis correspondentia est inter entitatem objecti et mensam objecti datorum.

BO est ens obiectum in processu negotiorum processus.

2. Codicis determinationes:

Quaeso nomen Anglice, non Sinica Pinyin.

Facile intelliget, non puto.

Hump ​​nominat pro vulgari nominibus uti.

Linea utere per intervalla erumpit, nec in longis paragraphis scribe.

Annotandae, non individualisticae.

Java Language Coding Specification - Java Language Coding Specification (versio Sinica) - Online Documentation - JAVA Programming Materials Niubi Statione (javanb.com)icon-default.png?t=N7T8http://doc.javanb.com/code-conventions-for-the-java-programming-language-zh/index.html#312

Noli uti keywords, verbis reservatis, etc. significationes speciales in ipsa Java! ! !

(1) Database nominatio placitum;

(1) Nomen mensae singulare est, et multa nomina mensae eodem nomine uti non possunt.

(2) Nomen tabella compositum esse debet litteris minuscularum ac sapien.

(3) Noli pugnare cum keywords;Ad verba reservata disable, ut similia, desc, range, inserere, differre, etc., placere ad MySQL officialia verba reservata.

(4) Nomen agri Lat: Constat ex 26 litteris Anglicis (casus-sensilibus) plus underscore '_', ut "usoris_id", "usoris", "usoris_password", "usoris_register_time", "usoris usoris".

(5) Primae et externae clavem specificationum;

Nomen praecipuum indicem clavem est nomen pk_field; singulare index nomen uk_field nomen est;
illustrare; pk_ clavis primaria est;

Primaria clavis: nomen + pk_ mensa
Exempli gratia:pk_main
Clavis extera: nomen+fk_+servi tabulae principalis nomen+_+nomen tabulae principalis
Exempli gratia:fk_sub_main

(6.) Decimalium genus est decimales, et innatant et duplum prohibentur.
(7) Tres necessariae regiones ad mensam: id, creare_time, renovatio_time.

(2) Annotationes specificationes:

(1) Classis annotationem;

Classis annotationes (Class) principaliter adhibentur ad declarandum quid in genere adhibeatur, tum aliqua notitia ut creator, versio date creatio, nomen sarcina, etc.

/**
* @version: V1.0
* @author: fendo
* @className: user
* @packageName: user
* @description: Hic est user genus
* @data: 2024-07-01 12:20
 **/

(2) Methodus annotationem (Constructor);

Ad singulas lineas commentaria intra modum, lineam novam supra commentarium commentarium incipe et utere // commentum. Usus /* */ pro multi-linea commenta intra methodos
Comments debent cum codice aligned. Omnes methodi abstractae (inclusae methodi in interfaces) cum Javadoc notanda sunt. Praeter valores et descriptiones parametri exceptio, etiam indicare debent quid modus faciat et quid functiones exerceat.Methodus annotationes (Constructor) adhiberi potest etiam ad parametri, reditus et alias informationes classium declarandas;

/**
* @author: fendo
* @methodsName: addUser
* @description: Add a user
* @param: xxxx
* @Retum: String
* @throws:
*/

(3) Code block comments: explica ad certam partem codicis tui

/**
* Instantiate a user
* xxxxxx
 */
User user=new User();

(4) Single-sentence comments: comment your individual code

User usor = novus usor();

(3) Nominatio specificationum:

Nomen ut alii intelligant, in camelo nominant, et sint sensitivum.

(I) De genere nominis UpperCamelCase style utitur:
Exempli gratia: UserController, FileController, BookService
(2) Methodus nominum, nominum parametri, variabilium membri, et variabilium localium omnes stylo inferiori CamelCase utuntur.
Exempli gratia: getUserName(), userLogin(), getMessage();
(3) Constans nominatio in omnibus litteris capitalibus debet esse, verbaque ab underscoribus separanda.
Exempli gratia: MAX_STOCK_COUNT / CACHE_EXPIRED_TIME
(4) Nomen genus abstractum incipit cum Abstracto vel Base; exceptio classis nomen finit cum Exceptione.
(5) Nomina Sarcina uniformiter lowercase esse debent, et unum tantum verbum Anglicum esse debet cum semanticis naturalibus inter dot separatores.Utere sarcina nomina uniformiter Numerus impar figura
formula, sed si genus nomen pluralem habet significationem, genus nominis pluraliter uti potest.
(6) Service/DAO layer methodi nominandi conventionem:
1) Modus obtinendi rem unam praefixam est cum acqui.
2) Modi plures obiecti obtinendi praefixa sunt indice et fine plurali, ut: listObjects
3) Modus obtinendi valores statisticos praefixus est cum enumeratione.
4) Modus inserendi praemittitur cum praeter/inserto.
5) Modus deletionis praemittitur cum amovere/deleto.
6) Modus mutationis cum renovatione praemittitur.
(7) Domain exemplum placitum nominandi;
I) Data obiectum: xxxDO, xxx nomen tabulae datae.
2) Data translatio objecti: xxxDTO, xxx nomen refertur ad negotium agri.
3) Propono obiectum: xxxVO, xxx fere nomen paginae interretialis est.
(VIII) Inter omnes res integer packaging classis Comparatio valorum omnes pari ratione comparandi.
illustrare; Nam integer var = ? -128 ad 127 Assignatio inter res integras in IntegerCache.cache generatur et res existentes reddi possunt
Magna ruina haec est, cum utendi obiectis existentibus. Commendatur ut aequali methodo iudicii.
(9) Iudicare aequivalentiam inter punctum numeri fluitantis, species datae fundamentales usui == comparari non possunt, et species data involuta aequalibus utentes iudicari non possunt. Aequalitas bigDecimal comparatio uti debet compareTo methodo loco parium modus ( )
Exemplum positivum:
(1) Specificare erroris spatium.
supernatet a = 1.0F - 0.9F ;
supernatet b = 0.9F - 0.8F ;
supernatet diff* = 1e-6F ;
si ( Math . abs ( a - b ) < diff* ) {
Systemaa . out . println ( "verum" );
}
(2) Utere BigDecimal ad valorem definiendum, et punctum numerorum operationum volitare faciendum.
BigDecimal a = novus BigDecimal ( "1.0" );
BigDecimal b = novus BigDecimal ( "0.9" );
BigDecimal c = novus BigDecimal ( "0.8" );
BigDecimal x * = a . demere ( b );
BigDecimal y * = b . demere ( c* );
si ( x* . compareTo ( y* ) == 0) {
Systemaa . out . println ( "verum" );
}
identifier typeNomen regitexemplum
packages Praefixio singularis sarcina nominis semper omnes litterae ASCII minusculae et nomen dominii in summo gradu est, plerumque com, edu, gov, mil, rete, org, vel anglorum duorum characterum codicem qui regionem ab anno 1981 definitam agnoscit. ISO 3166 vexillum. Posteriores partes nominis fasciculi variant secundum conventiones nominationis internae diversarum Institutorum. Tales conventiones nominandi possunt compositione nominum propriorum directorium uti ad distinguendas Dicasteria, incepta, machinas, seu nomina login.com.sun.eng
com.apple.quicktime.v2
edu.cmu.cs.bovik.cheese
Classes Nomen regit: Nomen classis nomen est, casu mixto utens, cum prima littera cuiusque verbi capitalised. Conare nomina ordinis vestri brevia et descripta servare. Plenis verbis utere, abbreviationes devita (nisi abbreviatio latius adhibetur, sicut URL, HTML)classis Kaster;
class ImageSprite;
InterfacesPraecepta nominans: Casus regulae sunt similes genere nominainterface RasterDelegate;
interface Storing;
Methodi Modus nomen est verbum, in casu mixto, cum prima littera primi verbi lowercase et prima littera verborum sequentium auto.Camelus casus nominatioCurre();
celeriter curre();
getBackground();
Variabilium Exceptis nominibus variabilibus, omnes instantiae, additis generibus et constantibus classibus, in casu mixto sunt, cum prima littera primi verbi lowercase et prima littera sequentium verborum auto- rarum. Varia nomina non debent ab signo underscore vel pupa incipere, licet hoc syntactice concessum est.
Nomina varia debent esse brevis et descriptio. Varia nomina eligenda sunt ut facile meminerint, id est propositum suum indicare.

List<User> userList;

String UserName;

Constans Declarationes constantium classium et constantium ANSI in omnibus litteris capitalibus esse debent, cum vocibus a sapientibus separatis. (AnSI constantes vitandos, qui facile errores causant)static final int MIN_WIDTH = 4;
static final int MAX_WIDTH = 999;
static final int GET_THE_CPU = 1;

(4) Ante-finem et posteriorem specificationes;

(1) Petitio methodi: Definitio operationum specificarum.
a) GET: Opes a servo posside. (A delectae operatio censeri potest)
b) Post: Novam resource in calculonis servi. (Potest inserta operatio fieri)
c) PUT: Renova in calculonis facultates. (Videri potest an update operatio)
d) Delere: opes a servo Delere. (Potest delere operationem)
(II) notitia return rogatum:
  • codehttp codice status
    • Si errores additi sunt quos te ipsum definis, etiam tuo errore codicibus uti potes.
  • message: Corresponding text description information
    • Si error incidit, certae erroris indicia monstrantur.
    • Alioquin operatio proficit, et fere processus facilior OK redit.
  • data
    • json linea data correspondentes
      • apud of *ordinata, , ergo correspondentes stratum extimum est[]of *list
      • apud of *object, , ergo correspondentes stratum extimum est{}of *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. }

(III) Responsio status codice

Error:

  • 1xx (informational status code): Receptam petitio indicat esse procedendum.
  • 2xx (successus status code) : indicat processum normaliter petitum esse. 200 per petitionem feliciter rediit.
  • 3xx (redirect statum codice): Sequere-up opus est ad hanc petitionem perficiendam.
  • 4xx (error clientis status code) : Syntaxis indicat errorem petitionem continere vel absolvi non posse. 400, 404, 401, 403 omnes errores causati sunt cum petitionibus mittendis ante finem
  • 5xx (servo errore status codice) : Error occurrit cum servo petitionem dispensando. Retrorsum quaestiones, exceptiones projiciendi, servo errorum, etc.

2XX successus


CC ok (postulo felix)
204 non contenta (probatur impetratio, sed nihil redditum est);
206 Contentum partiale (cliens partem petit subsidii, minister feliciter respondet et varias facultates reddit)


3XX redirect


CCCI moventur in perpetuum (redirectio permanens)
302 invenitur (redirectio temporalis)
303 alias videre (indicat quia alia est URI pro subsidio roganti respondente, GET adhiberi debet"
Modum obtinendi petitum resource)
304 non modificatur (indicat client accessu subsidii cum condicionibus, server invenit subsidium, condiciones autem petitionis condiciones non convenerunt. Nihil ad cum redirectionem)
Redirectio temporalis 307 (similiter ac 302)


4XX error clientis


400 petitio mala (est syntaxin error in petitione nuntius)
CDI alienum (requirit authenticas (primum reditus) seu authenticas defecit (secundus reditus))
403 vetita (rogatio a servo reiecta est);
CDIV non inveni (requisitum resource non potest inveniri in calculonis servi)


5XX servo errore


D error servo internus (error occurrit cum servo supplicium petitionem)
503 ministerium unavailable (servo cumulatur vel descendit ad victum et non tractat petitionem)

(5) Aliae notationes:

(1) Cum petitione HTTP contenta per corpus transmittit, longitudo regenda est.
illustrare; Defectus limitis nginx est 1MB, et defalta limitatio tornecati 2MB est.
(2) Noli uti reditus tandem in caudices
illustrare; Post reditum constitutionis in scandalum experimentum feliciter executum est, non statim revertitur, sed in clausula finali pronuntiationem exequi pergit. Si reditus hic sermo est, hic directe revertetur, inclementer abiecta punctum reditum in the experiri scandalum.
(III) in negotiis missionibus Exceptio coniectis et captus Si opus est revolvere Vide manually transactiones revolvere.
(4) Haec omnia ad informationem scribendam uti potes; Utere logging compage SLF4J、 JCL-Jakarta Communia Logging) API in.

3. Usus Apifox:

(I) Download and installation:

Vinculum: Preme nexum ut apifox download directe (modo detrahe novissimam versionem). Apifox - tribunal integrale collaborationis pro API documentis, debugging, deridendo, tentando. Munera habet ut instrumenti instrumenti procuratio, interfaciei debugging, ludibrii, et probationis automatae, et efficaciam evolutionis instrumenti, probationis, et debugging iuncturam 10 temporibus augeri. Optimum instrumenti instrumenti instrumenti instrumenti instrumenti automationis et instrumenti probationis.icon-default.png?t=N7T8https://apifox.com/

(II) Novum consilium et teammates invitare:

1. crea in quadrigis et novam project:

Invita teammates

2. Novam interface et novum data exemplar:

(1) Decernite quid sit postulatio.

(2) Expertus ambitus adunare debet, ac domicilia in diversis ambitibus diversa sunt;

(3) Rogatio parametri configurantur;

Quibus parametris conformantur?

(4) Responsio configuranda est;

Exempli gratia, definire necesse est quale indicium reddatur in diversis statibus, et oportet exempla successus et exceptiones exemplorum (ad commodum anterioris finis).

  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) Data exemplar creari potest;

Plures notitias exempla creare potes, quae ad campos referendorum responsionis commodissimum est, et etiam ad ante-finem opportunum ad notitias tuas agrorum spectantes.

(3) Scribere specifica documenta interface

Scriptura specifica et singularia apifox.

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

(1) Initio documenti instrumenti API prohemium esse debet. Hanc sectionem includere potest quae sequuntur:

  • Nomen et versio numerus API interface
  • Munus et propositum API interface
  • Design proposita et principia API interfaces
  • Applicatur scope et limitationes API interface

Propositum huius partis est ut lectores cognoscant condicionem fundamentalem et informationem API instrumenti.

(2) Interface list

Deinde in documento instrumenti API, necesse est omnia interfaces recensere. Singula interface sequentis informationes continere debet:

  • Interface nomen et descriptionem
  • Request modum (GET, POST, PUT, DELETE, etc.)
  • Petitio iter (URL)
  • Request parametri (including Query parametri et Corpus parametri)
  • Exempli gratia (plene exemplum quod potest petere capitis petitionem et corpus)
  • Responsio status codice ac descriptione
  • Responsum parametri (including Header parametri et Corpus parametri)
  • Exempli gratia (plene exemplum quod responsio capitis et responsionis corpus includere potest)

Propositum huius sectionis est curare ut lectores ad primas cuiusque instrumenti notitias cito cognoscant et interfacientiis exemplis in documento recte fundatis utantur.

(3) Descriptio petitionis parametri et responsionis parametri

Post indicem interfaciendi, petitionem parametri et responsionis parametri pro singulis instrumentis exquirere oportet. Hanc sectionem includere debet sequenti notitia:

  • Parameter nomen ac descriptionem
  • Parameter genera et forma
  • Utrum requiratur et default valorem
  • Exemplum parametri

Pro modulo generum et formatorum, uti normarum formarum ac formarum notarum formas uti potes, vel formas tuas proprias notas et formas pro certis circumstantiis definire potes. Num requisiti et defectus valores in ipsa condicione determinari debebunt.

(IV) Error codice descriptionem

Cum usus API interface, interdum error incidit. Itaque in documentis instrumenti API, omnibus codicibus errori possibilibus denotare necesse est. Hanc sectionem includere debet sequenti notitia:

  • Error code and description
  • Error genera et causas
  • Exemplum erroris codice reddidit per interface

Propositum huius sectionis est lectori intelligere omnes errorum rationes et causas possibiles, et errores recte ex exemplis in documentis fundatis tractare posse.

4. Debug munus (scire debet backend)

Doce te quomodo debug in Java in 2 minutis [Java in IDEA] _Quam debug in Java incepta sine casibus - CSDN Blogicon-default.png?t=N7T8https://blog.csdn.net/qq_43436117/article/details/113859737

5. Test genus

(1) Imprimis operationes;

Definire temptare genus

suggestio:

Test genus nomen: Expertus genus nomen Test CalculatorTest
Sarcina nomen: xx.xx.xx.test cn.itcast.test
Define test modi: potest currere independenter

suggestio:

Methodus nomen: nomen modum testAdd ()
Redi valorem: inane
Parameter album: parametri inanis
Add @Test ad modum

Import Junit dependentiam amet

judicium evenit;

Red: defecit
viridis: success
Plerumque utimur methodo static assertEquals (expectata, actualis) sub genere Assert ad tractandum eventus nostros expectatos et output proventuum

Assert.assertEquals(3, result);

Duo parametri sunt: ​​progressio pretii expectata effectus pretii

Cur Assert.assertEquals (expectata, actualia) ad processum testium proventuum?

Quia dicimus quod rubeum defectum significat, et viride rectitudinem. Cum probandi methodo utimur ad methodum additionem computatrum probandi, hoc solum eventum (si nulla exceptio occurrit). Si initus 1 et 3, exspectamus eventum 4, sed quod sumus output est 2, et quod speramus obtinere est. (recte repraesentans), Nonne hoc tempore recte uti possumus, asserta methodo aequalia in fine ad valorem expectatum comparare et valorem exitum per rationem progressionis comparare si non sunt aequales, rubea erit. Num hoc tempore definitio nostra viridis et rubicunda occurrit?

  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. }

@Antequam
@Antequam antequam methodum experiatur et methodus initialization fiat. Haec methodus automatice exsecuta erit antequam omnes methodi experimenta efficiantur.

@After
@Antequam ante experimentum modum fiat et subsidii emissio fiat methodus quae automatice facienda est postquam omnes modi examinis exsecuti sunt.

Methodus ornata @Antequam exsecutioni mandabitur antequam methodus experimentorum supplicium sumatur.

Modus exornatus @After exsecutus erit post modum experimenti supplicium est.

Modi modificati cum @Ante vel @After exsecutioni mandabitur cuiuscumque methodi probatio fiat.

(2) Automatarie generate Test genus obturaculum-ins

Commendatur plugins quia sponte generandi unitas probationes Java incepta - Tencent Cloud Developer Community - Tencent Cloud (tencent.com)icon-default.png?t=N7T8https://cloud.tencent.com/developer/article/1910893

6. Rerum notandae;

(1) Cum scribens documentum interface in fine aversae, clare et clare scribi debet ut finis tuus anterius intelligat. Scriptum est modo normate . Nomen rescriptum et valorem default responsionis bene scribenda est.

(2) Praeter id quod docetur, quaedam alia a te ipso discere potes, ut adnotationem verificationem inscriptio, tesseram login, c3p0, MD5 encryption, tigna, ex stilo, etc.

(3) Codex scripturae etiam normae esse debet, et logica rigorosa esse debet;

(4) Ante-finem et posteriora bene cooperari debent. Interactive responsio extremitatis anterioris et posterioris est etiam pars taxationis, magna ex parte rationis ?Numne problemata logica sunt, etc.

(Unus homo non potest dominari regionem !!!)

(5) In analysi postulante, stipulare functiones et interfaces quod facere vis. Si feceris aliqua munera, sed ante-finem non fecerint, ea repelle potes interfaces/data , si non scripsisti , cogita diligenter et plura communica .

Probare potes contra incepta quae actu laborant vel aliquid simile, ut a website shopping. Deinde signum contra Taobao debes.

(6) Noli temere persequi plura, logica et rationabilia esse, et partes simpliciores esse disce simpliciores. Sed prae- cipuus numerus interfionum et voluminis codicis etiam praestari debet. (Interfaces primum scripsimus basically plus quam XL)