開(kāi)發(fā)管理·編碼規(guī)范技巧

系統(tǒng)部分功能解耦重構(gòu)
前端優(yōu)化例子:https://blog.csdn.net/osdfhv/article/details/78729327
原則:分期優(yōu)化,不影響現(xiàn)有功能中進(jìn)行,持續(xù)優(yōu)化
部分功能的解耦,一期的初步設(shè)計(jì)如下。
1 數(shù)據(jù)庫(kù)先不動(dòng),把業(yè)務(wù)核心表對(duì)應(yīng)實(shí)體類(lèi)的字段名稱(chēng)進(jìn)行了優(yōu)化(按新系統(tǒng)的命名規(guī)則),其他涉及的表只是簡(jiǎn)單處理下命名。為減少對(duì)原系統(tǒng)的影響,我們復(fù)制了表結(jié)構(gòu),寫(xiě)入操作在新庫(kù),查詢?nèi)ピ瓗?kù)。不同系統(tǒng)間對(duì)接的時(shí)候做了中間適配,例如A_Old(原) A_New(新)兩張表,新的邏輯層操作和生成的都是A_New,在接入層返回給原系統(tǒng)時(shí)轉(zhuǎn)成A_Old。
2 異常處理,拋回給原系統(tǒng)的異常要求保持不變,由于做了中間成,所以在中間層進(jìn)行try-trach,邏輯層未進(jìn)行異常處理,如果做得進(jìn)一步可以在邏輯層也定義一些標(biāo)示,在中間層的異常處理的時(shí)候轉(zhuǎn)換成原系統(tǒng)定義的異常。
3 Service換成dubbo的方式調(diào)用,一期簡(jiǎn)單處理只移植代碼,先保證正常運(yùn)行
4 原系統(tǒng)自定義的一些工具類(lèi),先搬過(guò)來(lái)?yè)Q成個(gè)名稱(chēng),后續(xù)優(yōu)化

SVN與Git比較

http://blog.jobbole.com/31444/ 學(xué)好Git,了解SVN
如果兩個(gè)程序員同時(shí)修改了同一個(gè)文件呢, SVN可以合并這兩個(gè)程序員的改動(dòng),實(shí)際上SVN管理源代碼是以行為單位的,就是說(shuō)兩個(gè)程序員只要不是修改了同一行程序,SVN都會(huì)自動(dòng)合并兩種修改。如果是同一行,SVN會(huì)提示文件Confict, 沖突,需要手動(dòng)確認(rèn)。
問(wèn)題:1.大家都上傳更改的代碼-先下載再上傳

Git使用扎記
1.git init 初始化git倉(cāng)庫(kù)目錄;
2.git add . 將所有文件放進(jìn)新的本地 git 倉(cāng)庫(kù)
3.git commit -m "Initial commit" 添加文件到本地倉(cāng)庫(kù)
4.先去GitHub上創(chuàng)建倉(cāng)庫(kù)再git remote add origin https://github.com/kjiawei/mmall_shop.git(項(xiàng)目地址)
5.git remote -v 查看創(chuàng)建結(jié)果
6.git push origin master 提交本地代碼到GitHub倉(cāng)庫(kù)
7.如果推送到遠(yuǎn)程報(bào)錯(cuò)了說(shuō)明你本地有文件,就先拉再推,再合并沖突并提交到本地,再推送到遠(yuǎn)程
git pull https://github.com/deepthan/Angular-demo.git master
// 再處理 本地沖突文件
git commit -m 'creat project'
git push origin master
8.git commit -m "2" 提交更新前先 git add *
9.git無(wú)法pull倉(cāng)庫(kù)refusing to merge unrelated histories:git pull后加--allow-unrelated-histories

優(yōu)良的編碼及思維習(xí)慣
0.如何獲取git提交編號(hào)作為軟件升級(jí)版本號(hào)
[https://blog.csdn.net/twlkyao/article/details/9898571]
1.do{}while(0);
https://blog.csdn.net/jk110333/article/details/8562078
2.命名空間,按需使用進(jìn)/線程,命名方式(sigShowDlg//顯示對(duì)話框的信號(hào)),指針數(shù)組的使用事項(xiàng),關(guān)鍵字的使用(continue static)
3.自定義工具類(lèi),類(lèi)型集
typedef unsigned long long u64;
typedef unsigned int u32;
typedef unsigned short u16;
typedef unsigned char u8;
4.數(shù)據(jù)的處理(注明出處 保存位置 策略[時(shí)間,前中后,顯示] )
一.全局變量
變量名全部大寫(xiě), ‘G'+'定義類(lèi)型首字母小寫(xiě)'+'_'+變量名
如:int Gi_BLOODPUMP; //血泵全局變量
float Gf_BLOODPUMP;
char Gc_BLOODPUMP;

二.局部變量
變量名全部小寫(xiě), ‘L'+'定義類(lèi)型首字母小寫(xiě)'+''+變量名
如:int Li_value;
float Lf_value;

變量名第一個(gè)字母大寫(xiě),其余小寫(xiě),‘L'+'定義類(lèi)型首字母小寫(xiě)'+'
'+變量名
如:int Li_FullTemp;

三.靜態(tài)變量
變量名全部小寫(xiě),‘S'+'定義類(lèi)型首字母小寫(xiě)'+''+變量名
如:static int s_value;

變量名第一個(gè)字母大寫(xiě),其余小寫(xiě),‘S'+'定義類(lèi)型首字母小寫(xiě)'+'
'+變量名
如:static int s_EndPoint;

四.宏定義
變量名全部大寫(xiě),‘DE_’+宏定義名
如:#define DE_TR_BLOODNAME 100

五.函數(shù)命名
變量名第一個(gè)單詞小寫(xiě),后面的單詞首字母大寫(xiě),‘J’+函數(shù)名
如:void J_paintEvent();

六.頭文件和源文件命名
駝峰式命名,前面的字母盡量是類(lèi)別、作用等統(tǒng)一字母,后一個(gè)字母為該文件的功能名稱(chēng),如果兩個(gè)字母不能準(zhǔn)確表達(dá),則可用三個(gè)字母。
如:config_xml.h scene_setup_layout.h

七.代碼編寫(xiě)風(fēng)格
縮進(jìn):4空格;用空格替換TAB;
利用空行將語(yǔ)句恰當(dāng)?shù)胤纸M但不過(guò)多分行(縮成一行);
總是使用一個(gè)空行(不要空多行);
總是在每個(gè)關(guān)鍵字和大括號(hào)前使用一個(gè)空格;
對(duì)指針和引用,在類(lèi)型和*、&之間加一個(gè)空格;

八.與他人代碼銜接
閱讀別人:先用Astyle格式化一邊,我的風(fēng)格(格式對(duì)齊),全局修改奇異函數(shù)名和變量名,盡量不冗余

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容