From d1495fc446b4b1639691d69c252c5dd0a8ba3507 Mon Sep 17 00:00:00 2001 From: guanyuankai Date: Fri, 5 Dec 2025 11:02:51 +0800 Subject: [PATCH] Docs: Modified necessary Docs MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 增加了ChangeLog和README。 修正了部分文档中与实际要求不符合的部分。 国网只允许使用GET/POST命令。 --- 01技术研发部代码风格规范一览.docx | Bin 14009 -> 14015 bytes 02Git 版本控制与协作规范.docx | Bin 20388 -> 20467 bytes 05API 设计与后端架构规范.docx | Bin 15058 -> 15087 bytes 07文档与知识库规范.docx | Bin 16232 -> 16228 bytes ChangeLog.md | 20 ++++++++++++++++++ README.md | 18 ++++++++++++++++ ADR_Template.md => Template/ADR_Template.md | 0 .../ChangeLog_template.md | 0 .../README_Template.md | 0 .../pull_request_template.md | 0 ...说明.docx => 工具使用说明 - IntelliJ IDEA.docx | Bin ...使用说明.docx => 工具使用说明 - VS Code.docx | Bin 技术研发部开发规范速查清单.docx | Bin 17982 -> 17828 bytes 13 files changed, 38 insertions(+) create mode 100644 ChangeLog.md rename ADR_Template.md => Template/ADR_Template.md (100%) rename ChangeLog_template.md => Template/ChangeLog_template.md (100%) rename README_Template.md => Template/README_Template.md (100%) rename pull_request_template.md => Template/pull_request_template.md (100%) rename IntelliJ IDEA工具使用说明.docx => 工具使用说明 - IntelliJ IDEA.docx (100%) rename VS Code工具使用说明.docx => 工具使用说明 - VS Code.docx (100%) diff --git a/01技术研发部代码风格规范一览.docx b/01技术研发部代码风格规范一览.docx index 6ce91904c18acd5571b3fbad5fdcaa96209b0777..796589e6e1766e645645adf187bdd4a2c711e81e 100644 GIT binary patch delta 5575 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 V000005daYY5Ci}KnKA$X006sKeH;J) delta 5522 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 delta 12428 zcmZ8{bx<8Jza{Q)FYXRSid&($JH_4I-R$yUX@_JG*b+{*%ch zlg#9IGG|Us&TSrKQ66MGC!(}|dy_6C1cXz903Iko$svdZD|9REOc1yU4%p77!wbK) zT9NC0w#;-6G@s$J<9xZ)7%n(-b9l_o%Jpx9uVwN($`-cz;&~G0zx}AGup?{)XDaQ-Ftzlww$*yDiL8`5FOb8iLiT$d4w6rFDC2u(xrQDk_HC zBrV7mhX1}7H7dw3ZreCOL(%I7=Qu8Myz$w=lKQx}RB*hqsTZFKoJPzV-v!{#F+iL% zado+lAKw=@cMvJ}3n9C_TkGz0PLt875&_VI`dZA3w9E1%+vl30ywfdROh0~KnusBYY-|ZnKBJoF+D1o;u3&cxM5=cDjsBPQV+8` z(Koe@W9L?nsddPk(Hih_0p?R_s@HtVBO|id}fiP~v+Tf;Va0IX+L3rbNsOtZ20eOtm8PiEK z?@`4{H&88cOwy8H@(8rQeBgK*E~Ii29{AeeE36*Tw%y)dIe&${F`vdM_Em*5k4}3H zC;D6r4^i8?osPioBI6iUpdf*)k~cD{T%8_Fv_DpKUzjEx=!W>880gv493=k3;N%|$ znExx+PafZ#y>4>C#UKQNOnftVn2VyISW*;To0+g!8PfaX6#l%w4H zOP2}ELhzaAO+Qkn-(RFP@;13oZH2AqhvuD_UlicQC{*aVRF0nM&J?oaxWtM=q#;!- z;8&kr-yaP$%<}v2u;z$4$X$Dr%9HSu;Jb1a*tW$CMu=e8mXw{0uQcquv&)t!F25um z4bFhl*{t39Yqv;wV)1$0kf?)(#nR@)q#2inD`1?vN)S2n)J5N;wzOTylY)X-Qhw(` zg|SM3*)vZU2|o2~(v24hR{WC(QybN5Twh70x&Edq7yHB-AWqZo%Y4b_ITv@Q(Lf~PJWNZPiiETUi?xMtAXY8zhhO-u9`BZE&d>~N~<>Yi&v z*=8;Jqd>R~#*)wi2))*Nw|6$@2v0RCkJ7J*|K`&0?fU4p>Lhhi*taOcA0?DZhg zuvDS#FI0x`jt;D$oOJ146i%k5o9(x2jw<3ZwmTN$b08u7Od!qym9X;H6EsOTbGii{ z$_}0KV_tKK<=y;_LDa2tPXBm^$&a5+@qkb%IVHvk4aHsVkX6G(ba9L-am*c}LdC>p z`}47{*&~#^vHGE~zjz2#f)y){)HXmk{Si`RA{r?6?r=B_y-aI!$nx^)h{eCGzLM#* zl8;uJi&?NEt6?`9{)n2XFy#a%>USR?SSm>@9ipQY$WzPCf}C(PRC^g`iUnpFoRsRI3vl)VmUpUVaRC^Nnhj2x(s%l0wV(ZT6$B&jvxO2>nj> zHrB!6k8H5;TA>B6#g^pvrLxx86-q;>PrV6)(!EAO^erQ2c#Ase5#0lFMFw>cSm?j3 zZ%D^ZF*(X#I`Z*DQCbg(ZQ4$GQ*v4jh*1@9BFAoe4(@ z{VIYNlgosRZ|vVUi0?1-rGkZzoQbTy1D|CqTxaH-d*5=gWmyl z$iK78B6Q4Kbl5p)VnQPf7z;&wNigTDc&jlO+Zhg7d9KABmI?ww z@e?wU2oJQTvbNX`5@bID%{ZEW|0{>uuGu{!KlQX~p7(3cs@;S1apV^S_S#LVDbWjz zJXsN9+Aph2ourw=McIIjLy>@xjQ7$r?FO%t9>?zHR8xk!U^#i)0dGhfE&T^=?XAlW z(3Zi+qa4$C%y?!^*)v$6Chy#2-&cE*_BjFE-2?K=z6*W9+larxr>i_X0Cyv5UA}H5 zeZCuj=upk)U0G?4P~l2OPJ@d@yvrQsS&)LEp}oCTr=-0>3eq+eHE4wIR-E7R(Ewkq zyz+~zGaz#hG~X)n%dNDQc3zE@{dH$w&;C05Sg0U7lXTl?E;uKGA1hZ!gcN3nqhLuV z^g;0`)WxRQCQygw&{G^IiUvyKfK|Z}jaT7g%HVzYmCx)SmOko#wtYrv_8!o-9f)T3 z8Q$PHYk$&*=9m$=a%t|C-6jniG)G+PF1FRGZom0-*ZwkPo+hi2ruM|*#k|O<=`%MS z33t|N031JG@GWexduPn>2eUgUDBm=bx`XOM7wxcrcU!BRCk6VCOld^<_`iOAO#OY- zaq$&dNEs9+wE1V=82sRZG?tfjuIgXKgYjQB9~@mHywY{_3i_$RiT z=;RQ!XvL%seaee0Y?ok8OJGsl3%3!(=IXN|X_71;mteFqGkL6kRVF)+&WR!zp$K$I zWvC%DDVP5Vi}wJ)p_2cef`5Y9%0h@bnDms|A5PG2BA1FxI%0uR!okgC7XGr_4QcVj zPtAPVF^oJLL9}3M#Xt|OFxs)nNQd8yrE(iqV(!t!S+eiuRuw@b`TGJ>o_-q{d&Y~q zGF5=#a1M@ybsp-)ny=0Vr`)ov6d9zf9Y=Fj&AUXpeVUx8+t`aUG9)S9l=ttd*u}>_ahy-2!ReFPn9c_fN1LW3@RFdGb4WyvF7})4&fT34Bf8xYVUmx81rWlhA)~f`#HM(3MnCmq6s9un5#F4jTS^G4}h<2fqjcJF@Bw1qt zK-|M!BLN^d{*>6cgGl$D0F-_6(d8&J3@jld2|x>-L&_8_ye+PeG8 zSM#B1!YcQ`B|t#fcIS__SH+I|(PY@`YE>ZO9*LsH5tF#Y>CL%iHnJ}sq>SAtn>m%- z9LpSJ`CO!YgR2inH-%z!P_u32g8YsWODUX#b3w*js6$D8f`b^mCg+9n0wWpRM| zc2WFv?Q&daOHHF>?3DeW88xe@Ca;q3ZBn<}US8nICP{%3VxF}#pzCg5AL+gFJGe?QZMdAo;qxgx=h<+ zaiY5MaCP; zB0FJ3$-$UH#;nlr2xGf?-yZT@dti-!AvV-?rKSE z6`yY7RP)P9vUNbtb^cZrdEtt%Aj*RPHD%B1k-*1eupd!AT(0)}LutdMG^RCrbr>Ii z)8Bz8yZzuS6Oc34Yc~u%;WFfC*Z}mArXzqSuZ-WpLML-wsJoMkw5=+q&Vz$GxZ4!w z<9A&OmOLdyfQi)>C(-tbWAF}3xWgAr-dp_4@%gVWg*z}b2KAs#A$A>Y~GMA6E#W9Rh8Ba9O2Eph@m!1NpYeyzTgCWe+Q2- zcCYfQ`Y6Y~6_c!lrrig{o8vhI#01%qe>|1KarJH61|{ge_H>I#onu2tfao=B)$P2b zQ75_OGSl`EUqOW6=)39Ob$0QC*vLRi7nicJm z0$+(5!X&o`!$2Sccj#Fs-9c5AN-nxhG3vp zOMI9Fb__yI+@`HSqpT;&tF>pJb*=oqt_7Pe50~f!Sp-YP-gDT>KL)lX#`)WyEZPSt zXS6SMj>yDkJ$ok5>GAUTmCNL}($ zGw9ki*VZg$yk-0pm=+__pxX<10@%IF(btQHSmtg(6VaWJ)Tkb3ZmDI~+!El#RUcz^ zh)>Zt)R?%Ow$Jm^^t%2EGaCPtaWf1^;icU#>14H2_@S1zG)8!PLDsCdws*6#`q2<4 zzS+`hK|@}Sl+ARL;P)28>2q)_(51A12U4FR+6X_=ytNmg?)WQ+hHMhK#mjCso;?1ob|UILUNMgo`bf z8x4GgYo1a%%_f%G<{MuuurM&%cF-%|#ZYQ}C3Vy%f&Qhx<--iGHzx{iQ0^7u$#7#l0VA-;@7y z0hXwPK{1E^c7`5~LTA0$%H`VP^svayY(cl%bdssyjw3r=z3nQSs#Z%wW6TD3+(s~A z6*0ciye21f?U%zu{;MEpQ%MB^3v>!JmKF^CQ;1y1%evE>Y{lUSc!BE7go+mrFg0ou z{SX&Mxb>yol%ynC)tj-TY3RY344BlCjGWQUUPqUn0r_U@Mk)tdvZ2d_eLv+AwEsV8=Zg&swV7`m~+eTSv$v1Cg{357~dr)5nTssC==&ZCTj?wkzI--^0X!b*QLUro(!=2y& z;aoFKknny;KuBkY0fQqx3H0f|cyO5GM~bZ-sxltY3-7Y4W^=NbPxk|vIIKV(`u+XA zR@)GFd7rQPKz@mWAX?0q4ddw9)WYWNPBCmX4>J;i$yys8%XG)7-N&v-gSxaNyxwi_ zOdr28Hk!(|@8u%5x%=t&;r-#ozy^f|OD+mR0t>3ztz}-xp!c5+Q;M)omD=q(tP02Vgu_kXxg|o5lzDtclvmsDf{UIkonR7OBb4@GIz>{UnYCN+5bI`M z3n|Ugd{~c)%!Ip3R6r_>9f5K_F;~ZA+U_V`h?L2%q^YU$k+*6J!6sta@N*UKqn_Lt znBNK2U6SP&lLhGfjHk`yqnR8SvpkL>n7aJ#%bVX|C|bVWRs!2{=;J(9DtM*iiwpdJChlmw<_Ii z<^6t7dY{0(wRqq~ak8j7^#Wsb+fO7zEg)#J$^ZHLug+>+2Uh%(%nxt( z=!Q};5)x~c4kRTSR_1WuXKPJ=}3izUDoRx)74`)zY~{G@WRBT zZFyQ=6a?1bo7KP(_o+&+Sv}`UU46*T2exH3JN;m=Lv}YGGH83`kbyRS^S-z1JntZ-XEEHPBTYLe18pXb3@`3 zx44wUT)VL*@KaU&a!M&MHWG*_6(WqZjj$**xG)PJ(+%pN3&1qdl;HmZ9^*_brfy^#zNBpYK#@ztpAwAS}wx&=x`+xejO)e(;bI7v)F&bK=Yw z=&;fD0bxMeVY1L9V?8n|SIukcY5Pcinn;xx%nZZB6(K$Ub_3hQT>D>Ia505;E`lAYq@!86-b6tVpNGQNUmGfvQzBo*;@M{#AfgwqFkI*Gi2jj{nn;>tGbED4Yx zR@2uPv!6ylf2RJIP%2L8<_)TawOM%7Sj#S?d^d}^b=?4OtO-J`Jv);EvL06BPW}KU zEIsBi0qS5lUrQlUHO_&wg!`rvEEMs{LJwV*HBCK)5T2giNDhaT3gnrcmN+BDAiEsH z&-bcaMR@e15cRPXkX?EUlL&(GeIFL+j~Vi;2RgdQLmariSuvdqbzHR(AQ@FUVg(Do*)&w;x9n2H5i6(dFxT zo4GHm?1<5}6!^%q4T|C0hJ_fc#~Ed9_!#HyWuq%QQs`9kJ>^xrBdV!1Ut35)kcb-0 zALH%LxtebQu3mYh-r?wkvtLIRFJ6P!-YEomIvuf#(U#%1R39*}wvxkML@012ob04n zNKeN9X+>1t(%A(r`jpt9V5vn{z7{02Yw4oMntjOzwz!`vjTKz;;hloV%AY7>z#ZHX zPSw-CXzdr`yGFxbT=VO~g4J{&%0l=LYsX|d{O65e|8LJvTYv{AGJt3L{aW5wH;sIm zcoV_R-AoDKtHe3_?|s_`KSU{HP1F@f&uyZR)p-FWpUtUX9BqNVUUmY`R*#qpW?O%f zQCQH-Yj0BOf!F@lZ%-z4NFZ{{;fmCk^;#SB^-=@sv zHX*%v@dN*E;54>9s&`cgdpBgM8@Rq(bs-=*>1cp~2-X{p6+-X}WVay@d~5PUo8v0j z32u1|`6<~jCPgyrWVw!30Y*HhTh|j1yE+Jmrf7!pR@L#YYdo8x3lN<_W<-BPmpQAm zMOb6eE#;^F>x{F@g+S5*S{;X`Ey{vv#2OCsbMHrVcFNzSsyE1Y9h)45!x4{xf>9s{ zLNeE}gTMx{>;S|ySA!CQkPze^{?312P#?miQ&M#5|N9s)_OO4nJ@L(D-dERUiUJX5^^9MaG6UX1~eK-I_ z29(~`!#(8=KJ^I>*$q_WoFSk$&j02&SCH#iP3Lr=-CLa$2lwxr?jVkYq}wnDF}D3g zjva6N5q$A}7@3377j zNeWdj@R%%sp7~x6j^1qp9u0!-ydgZomLol8kXHwEv7)xNG77$!TAfm*wIcIV1Q&5U zc|REbSPo=Nj&XVS6+D_da8*)?K|~N_nJt_&D%P3_?3IA3!Ye^~$iJw#7iMSPf61g| zsOV;WQDQ}2P^8-9FY=9de42tIj`;9Yh9N|s?99)=%~6ou{Jo=qeFlf*P9Re{mV?5( zZ5#+P)ns0K;EwKAAhUo=hpyv)ysKLe#4E(%Dh-Dws>vJPmc*L%axb+ zn0H+YF5#uf!a}AbNOr$X*~dB#Hxa1kDd144hjvoGiq0neN;e-a@3+iTbw=b^+md0%f@kRW?d918+E=roxuN zP&94h>>_1VV$m20ktP*_sXAR!V{6#Z9Q4|iAUHh~Y)nS*Z-AasMPMKHPd*-H+ z1sCbn>p%4Y7p;N-2F?ZpjhR5cRy8@*y6MgKAI7hI_jC0^J?;3Cz&; zHO7lVJHd(m>8{H!$~*Y7)tnrl`;rKwMbcPNQJGGI!Tsk|6ZMocZtIM;uetYF-~V_{ z^c8BypW>OSmYInA3dw+G;;>U7hj8gR{0XNjiUHBjO@Wdq*zl{nkQM^G%Q&3K{IM9E zyNJH0Q}^&sFD&KrXxwh-3~!y<5EV-S^Cn^oddlg=ZkcY|h^@P$>6znnaJSu6r@)g* zRnqKA{qJi5;0yB{$SLM9@xX?u2h0P7MWtymk5YGXe3o%NN;eQ9m3yNR?po7tv@zNC zP%IC|7dJa-ihZR4+T(v#Z?ST@VD;f|FhxSaVX-X%X6t6HH6^sOKLnNeuROQk<1-t) zTKYQ7wbMc(9h@DO)$;%7AKaVABWS|(rmd&XY2a(}Pc(af(A-9c9~OVT!hu${^A`&f zIRx42H<1B=pEF$0i8>f2FkdVcs{KpG4M0JnE%@H&&6 z6#)kqP5GIMzC$8a*^lq%9LjX=QRlu~C((WZ$pn%j%aZCxLB5Hnjy8GTS{re~j>Kyw z6qP2hMn|TP-FW^X#V`dE=gl-tPNPy3bvQWVryhYc8K5j=67D!)+!YvRi$AjkkYsN) zBR<8itN<%$j8#6{-en7tU!OMV(2@Uk>4&WI)w$7+UiT!J-#vRioXZ{>D*9W)@Y=AL zu)oQm=POM6%p852w@ZBA($IXV^QzFL4+JI`mRy8!_^ZKEG#r+kH7(?zdN3Nxt_q9Q zJk;g3JLp`0zGMyM3pBLc!SDNzQ1j zG=KlwpOdFl?GPe6^q;FN7N7^5g<(Wv3aqHv&W;C3)T9tXdZjgtW=4(n0+_S( zVLLJ)H-qdjnTehjwRl51re%KFs6%^Qef>=zqAu0pkrltU%=^7kX@`#pm;LoJ#*xEb z{iWFtJ;Ij0690nfrcHR~;8`J3s66n9_1je{>j2&67vX`Cx%$A4?4RN4c zD_q~IkuqelaMmh~H55*A(;`fJ?fp_fh^d9o0hMhI!RbOSj;6djX5(@g4axu+OedVQ zFI0;oz?v!~OJIu*!xC*7=jW*^u%RHtgQ7?2+T$n=^q|CB@HDes%q;%)u&sk*B>^)U z6m1*B(t1;L-A$Qlx9zxPsE)owMNFA|QlU)ruJ=VV2Uut%rcy@Eb)8f1aQW7Hdcwcb zE*;QskwsRIT1L6c%*fIM)!{%~T0!kFv0V@nEcjUOzR3^5-~eIBLK?_I2)8gHBpuE5 zkLL=`XNVWvdBXrpTc$r1k$$Ow=fVU$tF(>s8S4sgVAgFJZ`m5{7ZudWKQlu3&<9AJ z?3#S7Cj4!hde6g|T_P~SV{a91w@~VqL@i1 z?ao&%`}bdp2li+!yAnbJI^Fv~P*O-r*$TqlEA62z53- z&#V3wgp>J19}ZR54Y6B?3&B1}!zCvm6gSEhl7|CptAId)o*F6aG&i%Y%+yw4)nNccNbxi-3e#z;rq;6UZS3-sHBx!weD}q$e`MyE)9YazyHf|d>%8xcF>$R zA-SdQ-}ZCUvtF(3tb}^|_FJgz_o1)hTYzA9k3^F5cc*04 zDK7P?bL`alVQLU1D;pAaYry0LyR5c6~1_eh{H7+!`%p)MIUt^R2F>8mhyfg2{KF)kLvGk89c?O;u(;StRTzYtq5SL#n&R7{JBK?P&XSGIa0V=(HH$ibi-66TeAiTfa(`Z<$xSeN ziV6zL`El_slyp)viPAydzpUq$eO@07M=FBtrA9n1y}E2AI*X#2l~|tx??p!gxPRXx z=Abu9haxD9O?gl%E6`9SoFpGu!Wkk#MbOsq*I_FZ zSh0(T<^Euaj)af?aw8-YC`N`4#FWmQn0YV_D!*7>^tZh($ zA-4~Io`Z-|2rU-8hE97>iw}5w*03^K49mCk)kgTm{Qg6=mg2fEx7F(wOxQSX^Rvog zdSYnhQ*M(g)IpkBM_KPpFlkGe0;&^s1@UmB?Pk^OHoEwq^*P)H?!b$=y#~4^kctHH zihD#|3~Dat?|l7Fk1S!Su*1s;RC9A1<#v?O)+UrVX?<+ZG&P_D1S;wA+xXosv$w;W zj4IM%6bgHve=AXPEj|9AcXe1Kf>WdEa7!BTEHdePn3M*(Ox}7-bO>tW9_A~wwfT-_ z>V>dQM*lpg!aCr)u!bc z)E$BkM*%UHvFLl}HMZm~mfuyXg;6|-@_X4=D19jDvo!vhT}9iCN7jzU+#|4>fyS1v ztWCJ=_+_F{ku@Lwn-8~IKT7gr8f2vg=ROdqS1J#4cPnL)N*d;r1 zM~m%`wGEVZOy~U>4v$&{+30l|GU*16Kp&%sPneP6#|Ct((V92LRM1h%=RUzOwRgl7Cjb=>0JDWb)T?RnNP3hvo;xQpa5~0g^hY(uL#36lj3Ur@b(bCBbi`dZAO;Gs|NV-;?+LZiWsU<7c6OqB{+WSj3H@qRd`u zwsot{h)LuS?V~<;0Mck0ULA%Mi3*`*a{z%mTKL${*ueuqdqu8KM<3^k619`UIQ2+FTSF*iLce3| zeb!e+xKQ}JUCJsDFjhi062qiH_en?~7=vxNm|<+Bmk1HHr*t1&lI_z;7CX{Ppr;z9 zesfdfA^V@#Cs~%bN@K@nh4?J7{N0Hi_v$y1b;yiiD1Vk6_)qbXlr^zwY;r2?*-c2O z&0D%t3_4CXLrIitgH~CmhqD4SEVJV$DZroIds|aG;JqZ2u#Peg3-R8bg+^rV{hx$&(pu6 zo_}bQk#_wObRAV^ad;6j!JKjYCRh8k6y^Yka$mIZc6ga67gNe z^o>{@ntIWo*<|Rrn{S)Mll~uvSs4R+-x%y-B2`tde(jx8lnQ%Nyd)bm=V+u|E9`Tq z#(9yJ1||J+5lwdSy?a~PDdGh3fizH;r`4jV?JUxdw8q`k*r-q{^%Bt0zQK#IWe*s5 z9k4OfO0FnSXok707Sc^R=#qk=ElwnAcEwTPILJ#W@LBs^8n;rYV1EWxl25Ac*fm78 zM8?0%MTOA9T9}vL|7JOOwC^-jB&jh*w(u|jM@)iJJ{RyJSj(yy1#*Q8h<_k+OHyc`j$xiaz;u{D(z{F4VH%-9 znTo|{u?q-JaKI;v)aiIS2vJ-Hqb5*;P{bjdh$UBkMrXv%tOT*Vp8ng*hm)5+2V}I} zeyCT}N2Ih3@__z)?124xMtGl3Nat}>LXnvDXw{Aw!pjVY?Tj&g)ez#B7qJ`pcnVtA zJ@RiPfmqBAnm<%QG`|JrkpK`^iU@;OI|i21oCciq)CD!x3>vcXMwJLUixEr;RzGG5 zBnC@t3H%`J=PSg_o^=hV$-0hIp^z#_Lu@KSYWf@L!Kg3VB^Vx;f^Tnc4-ad&w1u3O z%LD|r;$P)D{o7K6&?{=durBmp;h!Kivx?PsIRsEYVTQke8VVD!KnpU*G>;sk^>m}_ z2smzPuDn5Q;9u61QtA7iZ0fWV3vm>QXfX=g96bS%FbLLRaW3gX!%Lpph(~aV6j!qz zZdT8whV%ss(yiW)S`gr)60LXr9m z{Bgc{;So*JGfi{kXpPy~n!i$MxHw-7X(t^;J{pVHi+*&tx!n;a1!5C47D=kWKy6AV zJcep=kT#l3Q|BsyiOFTnBLXiDy>yrrO8z4iIrsTPyYNV3z zrAd;$C;$onpS0nBWz_$B!A6pj0u|B!WQ+gI{+|t9ME`Mz03>?Si~=>{{|!_peJI32 WdL+gC;D*dk8u~#C=P&!8CI1TtX_j~Z diff --git a/05API 设计与后端架构规范.docx b/05API 设计与后端架构规范.docx index 9c263c63b1b47e9699e616c26e1dfcc20b2b48a5..edc87900f52cf128d68822f8400a9eb4647415db 100644 GIT binary patch delta 8777 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 X5Re#Z$Ik;~fEMu6!OL;~lkxumELnu- delta 8760 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 L=&=0)|ET;wvkP${ diff --git a/ChangeLog.md b/ChangeLog.md new file mode 100644 index 0000000..d87a9d5 --- /dev/null +++ b/ChangeLog.md @@ -0,0 +1,20 @@ +# Changelog + +## [Unreleased] + +### Added + +- 新增了 开发规范文档(01-08)。 +- 新增了 IDEA的格式规范化配置。 +- 新增了 样式文档。 + +## [1.0.1] - 2025-12-05 + +### Fixed + +- 修正了01代码风格中C++命名风格的错误。 +- 修正了05API设计中关于Get/Post请求规范,使其满足国网规范。 + +### Changed + +- 调整了模板文件的文件结构 diff --git a/README.md b/README.md index e69de29..6e11eef 100644 --- a/README.md +++ b/README.md @@ -0,0 +1,18 @@ +# [Research Department Dev Spec] 研发部开发规范 + +项目简介 +这里写项目描述。例如:本项目是“南方电网标书生成系统”的后端服务,基于 LLM 实现标书内容的自动化生成与审核。 + +🛠 技术栈 + +- **Language**: doc,markdown + +架构与目录结构 +目录结构 + +架构图 +这里插入图片链接 + +维护者 +· Owner:@管元恺() +· Backup:@陈长文() diff --git a/ADR_Template.md b/Template/ADR_Template.md similarity index 100% rename from ADR_Template.md rename to Template/ADR_Template.md diff --git a/ChangeLog_template.md b/Template/ChangeLog_template.md similarity index 100% rename from ChangeLog_template.md rename to Template/ChangeLog_template.md diff --git a/README_Template.md b/Template/README_Template.md similarity index 100% rename from README_Template.md rename to Template/README_Template.md diff --git a/pull_request_template.md b/Template/pull_request_template.md similarity index 100% rename from pull_request_template.md rename to Template/pull_request_template.md diff --git a/IntelliJ IDEA工具使用说明.docx b/工具使用说明 - IntelliJ IDEA.docx similarity index 100% rename from IntelliJ IDEA工具使用说明.docx rename to 工具使用说明 - IntelliJ IDEA.docx diff --git a/VS Code工具使用说明.docx b/工具使用说明 - VS Code.docx similarity index 100% rename from VS Code工具使用说明.docx rename to 工具使用说明 - VS Code.docx diff --git a/技术研发部开发规范速查清单.docx b/技术研发部开发规范速查清单.docx index 81613cc6c41329609218590a55f11f308c417f1f..df728fdf45f82c06f03aef7608ca01266b5e142d 100644 GIT binary patch delta 7904 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 K2LC_+0000V1^i|J delta 8083 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