项目开发中的自我总结
最近忙的要死,因?yàn)樾麻_發(fā)了兩個(gè)項(xiàng)目.現(xiàn)在已經(jīng)測(cè)試完畢了,準(zhǔn)備部署到線上了.
然后不能白忙活吧,忙活完也得寫點(diǎn)總結(jié)和經(jīng)驗(yàn)吧,以后也有個(gè)記錄.
1.一個(gè)bootstrap+jquery+layui+laravel 5.4開發(fā)的一個(gè)后臺(tái)系統(tǒng) 比較樸素
2.一個(gè)前后端分離的vue+laravel 5.4 開發(fā)的商家系統(tǒng) 我只負(fù)責(zé)后端接口的開發(fā)和接口文檔的編寫
總結(jié)一下經(jīng)驗(yàn)吧:
1.數(shù)據(jù)表的設(shè)計(jì)
a.設(shè)計(jì)字段的時(shí)候 要盡量把字段都設(shè)為not null,這樣int類型不給默認(rèn)值默認(rèn)為0 string類型 不給默認(rèn)值默認(rèn)為'';因?yàn)槿绻侄螢閚ull 索引會(huì)失效,還有其他各種問題
b.int類型的沒有特殊需求 加上unsigned;每個(gè)字段都加上commit 以防止3個(gè)月后自己也忘了這個(gè)字段是啥意思,更方便將來項(xiàng)目別人看代碼 接收的便利性
c.數(shù)據(jù)表設(shè)為innodb 因?yàn)楝F(xiàn)在myisam有的性能 基本上innodb也都有了,而且如果將來用到事務(wù) 是只能用innodb的
d.設(shè)計(jì)數(shù)據(jù)表的時(shí)候要 盡量滿足第三范式,但是有些字段如果經(jīng)常查詢用到,但是又要連表查詢,會(huì)很復(fù)雜與費(fèi)時(shí)間,那么就可以重復(fù)出現(xiàn)
2.接口文檔的編寫
a.如果涉及到前后端分離項(xiàng)目 或者是多個(gè)項(xiàng)目之間的對(duì)接(服務(wù)端 管理端 商家端等),那么就一定要編寫接口文檔,方便開發(fā)后和后期維護(hù)
b.接口文檔的編寫內(nèi)容示例
在文檔的開始部分要編寫 版本修訂信息 和 注意事項(xiàng)
包括 接口地址 請(qǐng)求參數(shù) 返回參數(shù)? 即時(shí)返回參數(shù)的code返回碼 還有請(qǐng)求參數(shù)和返回參數(shù)的json 樣例數(shù)據(jù)(因?yàn)檫@樣可以更好的體現(xiàn)數(shù)據(jù)的結(jié)構(gòu),便于開發(fā)與理解)
附一張支付寶接口文檔的圖 按這個(gè)來編寫自己的接口文檔即可
其中返回的結(jié)果中要有code返回碼 和 msg說明 和 解決方案
?
如果有修改接口 也要及時(shí)修改 接口文檔
3.在代碼中常用部分的處理
在代碼中 有些數(shù)據(jù)是公用的,會(huì)有很多地方用到 比如 某些目錄的路徑 當(dāng)前服務(wù)器的ip和端口號(hào) 分頁每頁顯示幾條的配置? rsa接口公私鑰的配置等等等;
如果我們不把它們拆出來 在很多地方都會(huì)用到 會(huì)有造成復(fù)用的,然后將來如果這個(gè)配置參數(shù)要發(fā)生修改,那么要改的地方又有太多了,很繁瑣;
那么我們就可以把它們拆分出來放在
1.配置文件中
關(guān)于配置文件的使用可以 看我的這個(gè)博客:
https://www.cnblogs.com/djwhome/p/9176423.html
https://www.cnblogs.com/djwhome/p/9165855.html
2.數(shù)據(jù)庫中
數(shù)據(jù)庫的話我們可以建一個(gè)常用配置信息表,然后里面存放我們的各種配置信息
4.關(guān)于代碼的復(fù)用性
在開發(fā)的時(shí)候 我們要寫很多代碼,那么就會(huì)出現(xiàn)很多會(huì)復(fù)用的代碼;
比如我們要查詢一條數(shù)據(jù)的具體信息,這個(gè)信息里有很多的其他字段時(shí)我們其他地方 再查詢
?這樣我們就可以把它封裝成為一個(gè)方法,
a.如果是想起他類中也調(diào)用 封裝成靜態(tài)公共方法
這樣在其他地方需要用到同樣的功能的時(shí)候,就可以直接調(diào)用,減少了開發(fā)成本與加強(qiáng)了代碼的邏輯性
b.在封裝代碼的時(shí)候,我們希望代碼的粒度越小越好,能拆分出來的,盡量都拆分出來,這樣將來的代碼就可以像樂高一樣 由許多的小單元,可以拼成摩天大樓
c.還有在在開發(fā)的時(shí)候 遵循mvc的思想,盡量把和數(shù)據(jù)庫增刪改查的邏輯放到model層,把和業(yè)務(wù)邏輯的代碼放到controller層,把和視圖渲染 展示的代碼放到view層,盡量做到各個(gè)層都只處理自己的業(yè)務(wù)邏輯,做到分工明確,有利于代碼的查看和再次開發(fā)
5.日志的使用
a.在所有優(yōu)秀的系統(tǒng)中,都有一個(gè)日志系統(tǒng),比如咱們開發(fā)者最常用的錯(cuò)誤日志,用來記錄一些 代碼運(yùn)行中的重要的信息;
b.日志里可以記錄我們一些重要的接口數(shù)據(jù)信息,一些重要操作的執(zhí)行結(jié)果(成功還是失敗 失敗的原因);這樣將來一些錯(cuò)誤信息我們可以從日志中查出來,方便開發(fā);
?
轉(zhuǎn)載于:https://www.cnblogs.com/djwhome/p/9365326.html
總結(jié)
以上是生活随笔為你收集整理的项目开发中的自我总结的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: zabbix监控之zabbix-agen
- 下一篇: 本地存储cookie和localStor